(08)【Docker学习笔记】之 使用Docker Compose构建应用程序
Compose简介:
Compose 是用于定义和运行多容器Docker应用程序的工具。可以使用YML文件配置应用程序所需要的所有服务,通过执行一个命令,就可以从YML文件配置中创建并启动所有服务。
使用Compose的步骤:
1.用Dockerfile定义应用程序的运行环境。
2.用docker-compose.yml 定义构成应用程序的服务,这样他们可以在隔离环境中一起运行。
3.执行docker-compose up 启动并运行整个应用程序。
docker-compose.yml的配置参考:
Compose安装:
1.从Github上下载compose的二进制包,(下载地址:https://github.com/docker/compose/releases)
运行命令下载当前稳定版本:
$ sudo curl -L "https://github.com/docker/compose/releases/download/1.25.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
如果安装其他版本compose 请替换 1.25.0
给二进制文件赋可执行权限:
$ 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 1.25.0, build 0a186604
Compose的使用:
1.准备:
创建一个测试目录 ~/test1/comtest 然后创建文件app.py
$ sudo touch app.py
$ sudo chmod 777 app.py
文件app.py中写入以下内容:
然后 ,再在comtest目录中创建一个 ,requirements.txt 的文件,内容如下:
flask
redis
2.创建Dockerfile文件,写入以下内容:
FROM python:3.7-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"]
3.创建docker-compose.yml文件写入以下内容:
# yaml 配置
version: '3'
services:
web:
build: .
ports:
- "5000:5000"
redis:
image: "redis:alpine"
4.使用compose命令构建并运行应用
在测试目录执行命令启动应用程序:(加-d可以在后台执行 sudo docker-compose up -d)
$ sudo docker-compose up