docker compose docker-compose v1.0.0 - Go语言中文社区

docker compose docker-compose v1.0.0


文件名称版本号作者qq组件版本
docker compose docker-composev1.0.0学生宫布8416837Docker 20.10.2
docker-compose version 1.24.1
docker-py version: 3.7.3
CPython version: 3.6.8
OpenSSL version: OpenSSL 1.1.0j 20 Nov 2018

简介

  • Docker Compose 是一个工具,用于在使用Compose 文件格式定义的 Docker 上运行多容器应用程序。Compose 文件用于定义构成应用程序的一个或多个容器的配置方式。拥有 Compose 文件后,您可以使用单个命令创建和启动应用程序:docker-compose up.

  • Compose 文件可用于在本地部署应用程序,或使用 Docker CLI部署到Amazon ECS或 Microsoft ACI上的云 。

安装

脚本

# 下载
sudo curl -L "https://hub.fastgit.org/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
  • 下载过程:
    在这里插入图片描述
# 授权 # 创建快捷方式
sudo chmod +x /usr/local/bin/docker-compose;
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose;
docker-compose --version;
# 检查是否成功
docker-compose --version

使用步骤

一、使用 Dockerfile 定义应用程序的环境。

二、使用 docker-compose.yml 定义构成应用程序的服务,这样它们可以在隔离环境中一起运行。

三、最后,执行 docker-compose up 命令来启动并运行整个应用程序。

简单测试

脚本

# mkdir 
sudo mkdir -p /home/project/docker/composetes;
cd /home/project/docker/composetes;
# 在目录创建应用,如简单的python应用
  • 注意:文件格式使用dos2unix来转
  • 新建python应用
    python应用
  • app.py
import time

import redis
from flask import Flask

app = 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)
# 创建依赖文件
sudo vim requirements.txt
# 内容是flask redis
# 创建Dockerfile,内容如下:
  • 注意python3版本改成自己的
FROM python:3.6-alpine
WORKDIR /code
ENV FLASK_APP app.py
ENV FLASK_RUN_HOST 0.0.0.0
RUN apk add --no-cache gcc musl-dev linux-headers
COPY requirements.txt requirements.txt
RUN pip install -r requirements.txt
COPY . .
CMD ["flask", "run"]
  • Dockerfile释义
Dockerfile 内容解释:

FROM python:3.7-alpine: 从 Python 3.7 映像开始构建镜像。
WORKDIR /code: 将工作目录设置为 /code。
ENV FLASK_APP app.py
ENV FLASK_RUN_HOST 0.0.0.0
设置 flask 命令使用的环境变量。

RUN apk add --no-cache gcc musl-dev linux-headers: 安装 gcc,以便诸如 MarkupSafe 和 SQLAlchemy 之类的 Python 包可以编译加速。
COPY requirements.txt requirements.txt
RUN pip install -r requirements.txt
复制 requirements.txt 并安装 Python 依赖项。

COPY . .: 将 . 项目中的当前目录复制到 . 镜像中的工作目录。
CMD ["flask", "run"]: 容器提供默认的执行命令为:flask run。
  • create docker-compose.yml
# yaml 配置
version: '3'
services:
  web:
    build: .
    ports:
     - "5001:5000"
  redis:
    image: "redis:alpine"

该 Compose 文件定义了两个服务:web 和 redis。

web:该 web 服务使用从 Dockerfile 当前目录中构建的镜像。然后,它将容器和主机绑定到暴露的端口 5000。此示例服务使用 Flask Web 服务器的默认端口 5000 。
redis:该 redis 服务使用 Docker Hub 的公共 Redis 映像。

执行

docker-compose up
docker-compose up -d # 后台

  • 观察日志,开始执行了
    在这里插入图片描述
    ip:5001 测试,返回Hello World,成功

卸载

To uninstall Docker Compose if you installed using curl:
sudo rm /usr/local/bin/docker-compose
To uninstall Docker Compose if you installed using pip:
pip uninstall docker-compose

信息

URL

官方文档

https://docs.docker.com/compose/install/

菜鸟教程

https://www.runoob.com/docker/docker-compose.html

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/cc007cc009/article/details/119143527
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2021-12-11 17:55:26
  • 阅读 ( 1854 )
  • 分类:docker

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢