本文共 3276 字,大约阅读时间需要 10 分钟。
Docker-Compose 是专为定义和运行多容器 Docker 应用程序而设计的强大工具。通过它,您可以使用 YML 文件配置应用程序中的所有服务,并通过单一命令启动这些服务。无论是部署有多个服务的复杂系统,还是实现服务之间的网络互通,Docker-Compose 都能为您提供一站式解决方案。
安装 Docker-Compose 的过程相对简单。由于它依赖于 Docker Engine,请确保您已经正确安装了 Docker 环境。安装完成后,您可以通过以下方式拉取最新版本:
# 方法一:使用 curl 安装curl -L https://github.com/docker/compose/releases/download/1.21.2/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-composechmod +x /usr/local/bin/docker-compose# 方法二:使用 pip 安装pip install docker-compose
完成安装后,确保通过以下命令验证:
docker-compose version
Docker-Compose 的配置文件采用 YAML 格式,结构清晰易读。文件示例如下:
version: '3'services: back: image: backService:1.0 container_name: back environment: - name=tom - DB_PATH=jdbc:sqlite:/data/ns.db restart: always privileged: true ports: - "9000:9000" networks: - "net" volumes: - "/root/k3s.kube.config:/k3s.kube.config" - "/root/data:/data" - "/etc/network/interfaces:/etc/network/interfaces" front: image: front:1.0 container_name: front restart: always ports: - "10087:80" networks: - "net" volumes: - "/root/nginx.conf:/etc/nginx/nginx.conf"networks: net:
always
。tcp
кое夫和默认启动 Docker Swarm 等。了解 Docker-Compose 的命令有助于高效操作:
docker-compose version
docker-compose ps -a
docker-compose build
docker-compose up
docker-compose stop
docker-compose start
docker-compose restart
docker-compose logs
docker-compose down
docker-compose pull
docker-compose push
docker-compose help
mkdir composetestcd composetest
创建 app.py
文件:
import timeimport redisfrom flask import Flaskapp = Flask(__name__)cache = redis.Redis(host='redis', port=6379)def get_hit_count(): retries = 5 while True: try: return cache.incr('hits') except redis.exceptions.ConnectionError as exc: if retries == 0: raise exc retries -= 1 time.sleep(0.5)@app.route('/')def hello(): count = get_hit_count() return 'Hello World! I have been seen {} times.\n'.format(count)
requirements.txt
文件flaskflask-redis
FROM python:3.7-alpineWORKDIR /codeENV FLASK_APP=app.pyENV FLASK_RUN_HOST=0.0.0.0RUN apk add --no-cache gcc musl-dev linux-headersCOPY requirements.txt requirements.txtRUN pip install -r requirements.txtEXPOSE 5000COPY . .CMD ["flask", "run"]
version: "3.9"services: web: build: . ports: - "5000:5000" redis: image: "redis:alpine"
docker-compose up
通过浏览器访问 http://localhost:5000
,您可以观察到应用程序运行情况。这个示例演示了如何通过 Docker-Compose 快速启动和管理多容器应用。
如需进一步探索 Docker-Compose,可以参考以下官方资源:
通过这些实践,您应该能够熟练掌握 Docker-Compose 的核心功能,并在实际项目中高效使用。期待您的进一步探索!
转载地址:http://uccaz.baihongyu.com/