Docker学习(九)Docker Compose

作者: 我犟不过你 | 来源:发表于2020-09-27 13:50 被阅读0次

在上一章节中,我们使用了参数的形式去指定数据库的账号密码,数据挂载,网络等内容,当容器非常多的时候,就会是命令越来越多,参数越多,越复杂,且不能很好地表达容器与容器之间的关系,本篇文章我们通过docker compose解决上述问题。

通过 Compose,您可以使用 YML 文件来配置应用程序需要的所有服务。然后,使用一个命令,就可以从 YML 文件配置中创建并启动所有服务。

Compose 使用的三个步骤:

1.使用 Dockerfile 定义应用程序的环境。

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

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

Compose安装

在linux中,我们可以使用以下命令进行安装:

#下载文件(下面二选一)
#github镜像,很慢
sudo curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
#国内镜像
curl -L https://get.daocloud.io/docker/compose/releases/download/1.24.0/docker-compose-`uname -s`-`uname -m` > /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

上述命令的1.24.1表示版本,可以根据需要进行替换。

使用nginx举例:

Dockerfile:

FROM centos:7

RUN yum -y install epel-release \
&&yum -y install nginx\
&&yum -y install net-tools

EXPOSE 80

CMD ["nginx","-g","daemon off;"]

docker-compose.yml

version: '3.3'
services:
  nginx:
    ports:
      - 7000:80
    image: 'nginx:latest'

启动服务:

[root@iZ2ze7sn66bchxncut8rgsZ opt]# docker-compose up -d
Starting opt_nginx_1 ... done
[root@iZ2ze7sn66bchxncut8rgsZ opt]# docker-compose ps
   Name                  Command               State          Ports        
---------------------------------------------------------------------------
opt_nginx_1   /docker-entrypoint.sh ngin ...   Up      0.0.0.0:7000->80/tcp

更加具体的内容及操作命令请参考下面的文章:
https://www.runoob.com/docker/docker-compose.html

相关文章

网友评论

    本文标题:Docker学习(九)Docker Compose

    本文链接:https://www.haomeiwen.com/subject/wwykuktx.html