0
点赞
收藏
分享

微信扫一扫

Docker Compose 安装使用教程


Docker Compose 安装

  • ​​1.下载​​
  • ​​2. 使用​​
  • ​​2.1 创建文件夹​​
  • ​​2.2 编写Python脚本​​
  • ​​2.3 编辑Python依赖文件​​
  • ​​2.4 创建Dockerfile文件​​
  • ​​2.5 创建 docker-compose.yml​​
  • ​​2.6 运行​​

最新官网:​​https://github.com/docker/compose/releases​​

1.下载

​1.27.4​​可以改成最新版本

# 1. 下载1.27.4 版本
curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

# 2. 添加执行权限
chmod 755 /usr/local/bin/docker-compose

# 3. 创建软连接
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

# 4. 查看是否成功
docker-compose --version

Docker Compose 安装使用教程_compose

离线安装(1.27.4版本):
发现下载很慢或者无法下载,
迅雷云链接:​​​https://pan.xunlei.com/s/VMNTezLorjr0h7K7besm0u-5A1​​​ 提取码:​​mqk7​

# 1. 移动/usr/local/bin/文件夹下
mv docker-compose-Linux-x86_64 /usr/local/bin/docker-compose
# 2. 添加执行权限
chmod 755 /usr/local/bin/docker-compose
# 3. 查看是否成功
docker-compose --version

2. 使用

参考链接:​​https://www.runoob.com/docker/docker-compose.html​​

2.1 创建文件夹

# 1. 新建文件夹
mkdir composetest

# 2. 进入文件夹
cd composetest

2.2 编写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)

2.3 编辑Python依赖文件

在新建依赖包文件: ​​requirements.txt​​​ python项目中必须包含一个 requirements.txt 文件,用于记录所有依赖包及其精确的版本号。以便新环境部署。
内容如下:

flask
redis

2.4 创建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。

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"]

2.5 创建 docker-compose.yml

创建 ​​docker-compose.yml​​​ 文件
web:名称叫web, 该 web 服务使用从 Dockerfile 当前目录中构建的镜像。然后,它将容器和主机绑定到暴露的端口 5000。此示例服务使用 Flask Web 服务器的默认端口 5000 。
build: 编译当前文件夹下的Dockerfile文件
redis:该 redis 服务使用 Docker Hub 的公共 Redis 映像。

version: '3'
services:
web:
build: .
ports:
- "5000:5000"
redis:
image: "redis:alpine"

编辑好的文档目录如下:
Docker Compose 安装使用教程_linux_02

2.6 运行

必须在​​docker-compose.yml​​​ 运行已下命令
不然会报错:
ERROR:
Can’t find a suitable configuration file in this directory or any
parent. Are you in the right directory?
Supported filenames: docker-compose.yml, docker-compose.yaml
命令参考链接: ​​​javascript:void(0)​​

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

# 查看运行容器
docker-compose ps

# 查看日志
docker-compose logs

# 停止容器
docker-compose stop

# 启动容器
docker-compose start

# 删除已经停止的容器 -f 强制删除
docker-compose rm

# 进入容器 如果是linux容器sh替换成/bin/bash
docker-compose exec web sh

出现如下说明运行正常
地址栏输入你的ip加上端口即可:
​​​http://192.168.88.129:5000/​​​Docker Compose 安装使用教程_docker_03
Docker Compose 安装使用教程_安装_04


举报

相关推荐

0 条评论