在CentOS8上安装docker-compose的方法
我会介绍在CentOS8上安装docker-compose的步骤。
1. 环境是指周围的自然和社会条件。
OS:CentOS Linux release 8.5.2111
Docker:Docker version 20.10.14, build a224086
[root@centos8 work1]# cat /etc/redhat-release
CentOS Linux release 8.5.2111
[root@centos8 work1]# docker -v
Docker version 20.10.14, build a224086
[root@centos8 work1]#
2. 安装步骤
Docker:Docker version 20.10.14, build a224086
[root@centos8 work1]# cat /etc/redhat-release
CentOS Linux release 8.5.2111
[root@centos8 work1]# docker -v
Docker version 20.10.14, build a224086
[root@centos8 work1]#
安装docker-compose之前,需要先安装Docker。请参考”在CentOS8上安装Docker的方法”来安装Docker。
请用中文将以下内容进行解释,只需提供一种选项:
– Can you help me with my homework?
– Would you like me to assist you in completing your homework?
– Could you offer some assistance in aiding me with my homework?
– Is it possible for you to lend a hand with my homework?
使用以下命令,下载 Docker Compose:
curl -L https://github.com/docker/compose/releases/download/1.16.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
[root@centos8 ~]# curl -L https://github.com/docker/compose/releases/download/1.16.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 664 100 664 0 0 2243 0 --:--:-- --:--:-- --:--:-- 2243
100 8648k 100 8648k 0 0 5025k 0 0:00:01 0:00:01 --:--:-- 17.3M
[root@centos8 ~]#
请将以下内容用中文母语进行改写,只需要一种版本:
请改写以下内容,只需要一种版本即可。
请用中文母语进行改写以下内容,只需提供一种版本。
请在下载的 “/usr/local/bin/docker-compose” 文件上运行以下命令,以赋予权限:
chmod +x /usr/local/bin/docker-compose
[root@centos8 ~]# chmod +x /usr/local/bin/docker-compose
[root@centos8 ~]#
通过运行docker-compose -v命令,可以检查已安装的docker-compose版本。
[root@centos8 ~]# docker-compose -v
docker-compose version 1.16.1, build 6d1ac21
[root@centos8 ~]#
3. 验证操作
为了验证Docker Compose的运行情况,我尝试执行了在“Docker Compose – とほほのWWW入門”中介绍的教程。
创建一个工作目录,并切换到该目录。
mkdir work1
cd work1
[root@centos8 ~]# pwd
/root
[root@centos8 ~]# mkdir work1
[root@centos8 ~]# cd work1
请以中文本地语言改写以下内容,只需要一种选项:
请将以下内容翻译为中文本地语言,仅需一种选择:
在已创建的工作目录(/root/work1)下,将创建以下4个文件。
-
app.py
requirements.txt
Dockerfile
docker-compose.yml
内容如下:
from flask import Flask
from redis import Redis
app = Flask(__name__)
redis = Redis(host='redis', port=6379)
@app.route('/')
def hello():
redis.incr('hits')
return 'Hello World! I have been seen %s times.\n' % redis.get('hits').decode()
if __name__ == "__main__":
app.run(host="0.0.0.0", debug=True)
flask
redis
FROM python:3.6
ADD . /code
WORKDIR /code
RUN pip install -r requirements.txt
CMD python app.py
version: '2'
services:
web:
build: .
ports:
- "5000:5000"
volumes:
- .:/code
depends_on:
- redis
redis:
image: redis
[root@centos8 work1]# pwd
/root/work1
[root@centos8 work1]# ls -l
合計 16
-rw-r--r-- 1 root root 96 3月 26 17:46 Dockerfile
-rw-r--r-- 1 root root 315 3月 26 17:45 app.py
-rw-r--r-- 1 root root 156 3月 26 17:46 docker-compose.yml
-rw-r--r-- 1 root root 12 3月 26 17:45 requirements.txt
[root@centos8 work1]#
以下是需要用中文原生译文更改的句子:
我們會事先啟動 Docker。
系統啟動 Docker。
[root@centos8 work1]# systemctl start docker
[root@centos8 work1]#
请用中文将以下内容进行改写,只需要一个选项:
There are many delicious dishes in Chinese cuisine.
使用以下的docker-compose命令,启动所需的容器。
docker-compose up -d
实行结果
[root@centos8 work1]# docker-compose up -d
正在创建网络 “work1_default”,使用默认驱动程序
正在拉取 redis (redis:latest)…
latest: 从 library/redis 中拉取
ae13dd578326: 拉取完毕
e6f25d21ebb3: 拉取完毕
601cc6106ba1: 拉取完毕
5b8be2fd806e: 拉取完毕
950c3791111a: 拉取完毕
567b7ad78092: 拉取完毕
摘要: sha256:771c20f2507b0e6b59a857abc3be09bb6764bb024db35f379ada9fe62ad932c5
状态: 已下载更新的镜像 redis:latest
正在构建 web
步骤 1/5 : FROM python:3.6
3.6: 从 library/python 中拉取
0e29546d541c: 拉取完毕
9b829c73b52b: 拉取完毕
cb5b7ae36172: 拉取完毕
6494e4811622: 拉取完毕
6f9f74896dfa: 拉取完毕
5e3b1213efc5: 拉取完毕
9fddfdc56334: 拉取完毕
404f02044bac: 拉取完毕
c4f42be2be53: 拉取完毕
摘要: sha256:f8652afaf88c25f0d22354d547d892591067aa4026a7fa9a6819df9f300af6fc
状态: 已下载更新的镜像 python:3.6
—> 54260638d07c
步骤 2/5 : ADD . /code
—> a4d9270f0a92
步骤 3/5 : WORKDIR /code
—> 正在运行 49a192ba04f6
正在删除中间容器 49a192ba04f6
—> a79afefccc97
步骤 4/5 : RUN pip install -r requirements.txt
—> 正在运行 b7708247066d
正在收集 flask
正在下载 Flask-2.0.3-py3-none-any.whl (95 kB)
正在收集 redis
正在下载 redis-4.2.0-py3-none-any.whl (225 kB)
正在收集 itsdangerous>=2.0
正在下载 itsdangerous-2.0.1-py3-none-any.whl (18 kB)
正在收集 Jinja2>=3.0
正在下载 Jinja2-3.0.3-py3-none-any.whl (133 kB)
正在收集 Werkzeug>=2.0
正在下载 Werkzeug-2.0.3-py3-none-any.whl (289 kB)
正在收集 click>=7.1.2
正在下载 click-8.0.4-py3-none-any.whl (97 kB)
正在收集 typing-extensions
正在下载 typing_extensions-4.1.1-py3-none-any.whl (26 kB)
正在收集 async-timeout>=4.0.2
正在下载 async_timeout-4.0.2-py3-none-any.whl (5.8 kB)
正在收集 packaging>=20.4
正在下载 packaging-21.3-py3-none-any.whl (40 kB)
正在收集 deprecated>=1.2.3
正在下载 Deprecated-1.2.13-py2.py3-none-any.whl (9.6 kB)
正在收集 importlib-metadata>=1.0
正在下载 importlib_metadata-4.8.3-py3-none-any.whl (17 kB)
正在收集 wrapt<2,>=1.10
正在下载 wrapt-1.14.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (74 kB)
正在收集 zipp>=0.5
正在下载 zipp-3.6.0-py3-none-any.whl (5.3 kB)
正在收集 MarkupSafe>=2.0
正在下载 MarkupSafe-2.0.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (30 kB)
正在收集 pyparsing!=3.0.5,>=2.0.2
正在下载 pyparsing-3.0.7-py3-none-any.whl (98 kB)
正在收集 dataclasses
正在下载 dataclasses-0.8-py3-none-any.whl (19 kB)
正在安装收集到的包:zipp、typing-extensions、wrapt、pyparsing、MarkupSafe、importlib-metadata、dataclasses、Werkzeug、packaging、Jinja2、itsdangerous、deprecated、click、async-timeout、redis、flask
成功安装 Jinja2-3.0.3 MarkupSafe-2.0.1 Werkzeug-2.0.3 async-timeout-4.0.2 click-8.0.4 dataclasses-0.8 deprecated-1.2.13 flask-2.0.3 importlib-metadata-4.8.3 itsdangerous-2.0.1 packaging-21.3 pyparsing-3.0.7 redis-4.2.0 typing-extensions-4.1.1 wrapt-1.14.0 zipp-3.6.0
警告:以 ‘root’ 用户身份运行 pip 可能会导致权限错误并与系统软件包管理器产生冲突。建议改用虚拟环境:https://pip.pypa.io/warnings/venv
警告:您正在使用 pip 版本 21.2.4;但可用的是 21.3.1 版。您应该考虑通过 ‘/usr/local/bin/python -m pip install –upgrade pip’ 命令进行升级。
正在删除中间容器 b7708247066d
—> 04577ccd9c5e
步骤 5/5 : CMD python app.py
—> 正在运行 af82aa21e7de
正在删除中间容器 af82aa21e7de
—> d397ba8eaec3
成功构建 d397ba8eaec3
成功标记 work1_web:latest
警告:因为不存在,所以为 web 服务构建镜像。要重新构建此镜像,您必须使用 `docker-compose build` 或 `docker-compose up –build`。
正在创建 work1_redis_1 …
正在创建 work1_redis_1 … 完成
正在创建 work1_web_1 …
正在创建 work1_web_1 … 完成
请以母语中文进行改写,请提供一个选项:
使用以下命令查看 Docker 的状态。
docker ps
docker ps -a
docker images
docker network ls
docker volume ls
[root@centos8 work1]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
87e7d488f9fa work1_web "/bin/sh -c 'python …" 2 minutes ago Up 2 minutes 0.0.0.0:5000->5000/tcp, :::5000->5000/tcp work1_web_1
f41dc67963db redis "docker-entrypoint.s…" 2 minutes ago Up 2 minutes 6379/tcp work1_redis_1
[root@centos8 work1]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
87e7d488f9fa work1_web "/bin/sh -c 'python …" 2 minutes ago Up 2 minutes 0.0.0.0:5000->5000/tcp, :::5000->5000/tcp work1_web_1
f41dc67963db redis "docker-entrypoint.s…" 2 minutes ago Up 2 minutes 6379/tcp work1_redis_1
[root@centos8 work1]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
work1_web latest d397ba8eaec3 2 minutes ago 916MB
redis latest 87c26977fd90 8 days ago 113MB
python 3.6 54260638d07c 3 months ago 902MB
[root@centos8 work1]# docker network ls
NETWORK ID NAME DRIVER SCOPE
9fb67fd1621b bridge bridge local
6357fa5f6a07 host host local
a144f0d6a794 none null local
12816e60b028 work1_default bridge local
[root@centos8 work1]# docker volume ls
DRIVER VOLUME NAME
local 7661007c9b943a9c229e556753bb84029c368c167d6203a7642bc95fabb8614c
[root@centos8 work1]#
请对以下内容用中文进行永久性改写,只需提供一种选项:
“It is important to practice good hygiene habits, such as washing hands frequently, to prevent the spread of germs and keep oneself healthy.”
使用curl命令访问http://localhost:5000/并确认其正常运作。
[root@centos8 work1]# curl http://localhost:5000/
Hello World! I have been seen 1 times.
[root@centos8 work1]# curl http://localhost:5000/
Hello World! I have been seen 2 times.
[root@centos8 work1]# curl http://localhost:5000/
Hello World! I have been seen 3 times.
[root@centos8 work1]# curl http://localhost:5000/
Hello World! I have been seen 4 times.
[root@centos8 work1]# curl http://localhost:5000/
Hello World! I have been seen 5 times.
[root@centos8 work1]#
按照「Docker Compose – とほほのWWW入門」的教程,成功地运行了。
请以中国人的母语将以下内容进行改述,只需要一个版本:
请问如何到达最近的火车站?
使用以下命令停止通过docker-compose up -d启动的容器。
docker-compose down
[root@centos8 work1]# docker-compose down
Stopping work1_web_1 ... done
Stopping work1_redis_1 ... done
Removing work1_web_1 ... done
Removing work1_redis_1 ... done
Removing network work1_default
[root@centos8 work1]#
请用中文重新表达以下句子,只需要一个选项:
用以下命令再次确认Docker的状态:
docker ps
docker ps -a
docker images
docker network ls
docker volume ls
[root@centos8 work1]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
[root@centos8 work1]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
[root@centos8 work1]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
work1_web latest d397ba8eaec3 6 minutes ago 916MB
redis latest 87c26977fd90 8 days ago 113MB
python 3.6 54260638d07c 3 months ago 902MB
[root@centos8 work1]# docker network ls
NETWORK ID NAME DRIVER SCOPE
9fb67fd1621b bridge bridge local
6357fa5f6a07 host host local
a144f0d6a794 none null local
[root@centos8 work1]# docker volume ls
DRIVER VOLUME NAME
local 7661007c9b943a9c229e556753bb84029c368c167d6203a7642bc95fabb8614c
[root@centos8 work1]#
查看docker ps -a的结果,我们可以发现容器已经终止并且被删除。
查看docker images的结果,镜像仍然存在。
请参考
Docker Compose – とほほのWWW入门
以上