10 Docker Compose

发布时间:2022-07-03 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了10 Docker Compose脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

10 docker Compose

10.1 Compose 简介

平常通过Dockerfile 文件生成一个镜像来使用,但是在微服务架构下,效率非常低,很难处理依赖管理,但是可以使用Docker Compose 来轻松高效的管理容器,定义运行多个容器。

Compose是一个用于定义和运行多容器Docker应用程序的工具。使用Compose,可以使用YamL文件来配置应用程序的服务。然后,使用一个命令,从配置中创建并启动所有服务。可以在任何环境使用Compose,一般使用Compose 主要有三个步骤:

  • 编写Dockerfile

  • 编写YAML文件

  • 启动项

    Compose 是Docker 官方的开项目,需要独立安装使用,docker-compose.yml如下所示:

version: "3.9"  # optional since v1.27.0services:  web:    build: .    ports:      - "5000:5000"    volumes:      - .:/code      - LOGvolume01:/VAR/log    links:      - redis  redis:    image: redisvolumes:  logvolume01: {}

10.2 Compose 安装

10.2.1 下载安装

sudo curl -L "https://gIThub.COM/docker/compose/releases/download/1.29.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

10 Docker Compose

10.2.2 添加授权

sudo chmod +x /usr/local/bin/docker-compose

10 Docker Compose

10.2.3 建立软连接

sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

10.3 Compose 入门体验

10.3.1 创建目录

 mkdir composetest cd composetest

10.3.2 编写程序文件

vim 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)
vim requirements.txt
flaskredis

10.3.3 创建Dockerfile文件

在此步骤中,您将编写一个构建Docker映像的Dockerfile。该图像包含Python应用程序所需的所有依赖关系,包括Python本身。

vim Dockerfile
# syntax=docker/dockerfile:1From 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"]

这告诉Docker:

  • 从Python 3.7映像开始构建映像。

  • 将工作目录设置为/code

  • 设置flask命令使用的环境变量。

  • 安装gcc和其他依赖项

  • 复制requirements.txt并安装Python依赖项。

  • 将元数据添加到图像以描述容器正在侦听端口5000

  • .项目中的当前目录复制到.映像中的工作目录。

  • 将容器的默认命令设置为flask run

10.3.4 创建docker-compose.yml文件

vim docker-compose.yml
version: "3.9"services:  web:    build: .    ports:      - "5000:5000"  redis:    image: "redis:alpine"

10 Docker Compose

10.3.5 生成和运行该项目

docker-compose up

10 Docker Compose

访问测试

10 Docker Compose

10.4 YAML规则

version:'' #版本service: #服务    服务1:web        #服务配置        images        build        network        dePEnds_on #依赖 先启动依赖            -redis        ...    服务2:redis    服务3...#其他配置 网络/卷、全局规则volumes:networks:configs:

 

脚本宝典总结

以上是脚本宝典为你收集整理的10 Docker Compose全部内容,希望文章能够帮你解决10 Docker Compose所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。