作者:无视一个水阿哥_470 | 来源:互联网 | 2023-06-07 12:45
文件名称版本号作者qq组件版本docker compose docker-composev1.0.0学生宫布8416837Docker 20.10.2docker-compose version 1.
文件名称 版本号 作者 qq 组件版本 docker compose docker-compose v1.0.0 学生宫布 8416837 Docker 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 命令来启动并运行整个应用程序。 简单测试
脚本 sudo mkdir -p /home/project/docker/composetes; \ cd /home/project/docker/composetes;
注意:文件格式使用dos2unix来转 新建python应用 python应用 app.py import timeimport redisfrom 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
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 内容解释: 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 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