容器自动编排工具----Docker-compose

容器自动编排工具----Docker-compose

在生产环境中经常使用Docker Compose来定义和运行多个Docker容器,不仅如此再也不需要通过shell脚本来启动容器。然而Docker compose需要通过YAML语言来编写。

一、YAML语言的使用规则

我们在编写docker compose时需要注意一下几点:
yaml语言:1.不支持tab制表符的缩进。
2.通常开头需要空两格。
3.字符需要缩进一个,如冒号、逗号、横杆。
4.可以用井号进行注释。
5.特殊字符需要用单引号引起来。
6.布尔值需要用用好引起来。

三、docker compose在配置时的常用字段和命令

1.常用的字段描述
在这里插入图片描述
2.docker compose常用的命令
在这里插入图片描述

四、编写nginx的docker compose

首先,需要先下载docker-compose。

curl -L https://github.com/docker/compose/releases/download/1.21.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

下载好的docker-compose没有执行权限,所以需要提权操作。
在这里插入图片描述

chmod +x /usr/local/bin/docker-compose

这样我们就可以使用docker-compose命令了。
compose的使用基本格式为:

docker-compose [options] [CMD] [ARGS...]
docker-compose的一些可选项为:
--version:打印版本并退出
--verbose:输出更多调试信息
-f,--file 适用特定的compose模板
-p,--project-name :指定项目名

下面就是具体怎么使用docker-compose制作nginx镜像:
1.在可以执行docker-compose命令后,我们需要创建一个目录在执行compose。
在这里插入图片描述
2.在工作目录下在创建一个目录用于存放dockerfile相关文件。

mkdir nginx
cd nginx
将上一期制作nginx的Dockerfile复制进来并且还包含源码包和run.sh

nginx的dockerfile这里不再赘述有兴趣的可以看我上一期的dockerfile实战。
在这里插入图片描述
3.开始在工作目录下编写docker-compose.yml
现在在工作目录下没有docker-compose.yml,需要我们自己编写。
在这里插入图片描述
我们在同一路径下创建一个nginx的站点,到时候容器就挂载到此站点之中。

mkdir web
echo "66666" > index.html

现在开始编写docker-compose.yml

#使用的compose版本
version: '3'
#创建的服务为nginx
services:
  nginx:
  #创建的容器主机名为:nginx01
    hostname: nginx01
    #基于的dockerfile的目录路径
    build:
      context: ./nginx
      dockerfile: Dockerfile
      #容器映射出的端口号
    ports:
      - 8080:80
      - 81:443
      #创建的网络名称
    networks:
      - cluster
      #使用外部目录挂载到容器内部
    volumes:
      - ./web:/usr/local/nginx/html
networks:
  cluster:
~

docker-compose.yml编写好了之后,下面开始运行:

docker-compose -f docker-compose.yml up -d

运行docker-compose一守护进程up状态运行。
最后我们看到容器成功运行起来。
在这里插入图片描述
可以在宿主机是哪个成功查看。
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值