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)常用命令:

在这里插入图片描述

(3)命令说明

1、基本使用格式
docker-compose [options] [COMMAND] [ARGS…]
2、docker-compose选项
1):–verbose 输出更多调试信息
2):–version 打印版本并推出
3):-f,–file FILE 使用特定的compose模板文件,默认为docker-compose.yml
4):-p,–project-name NAME 指定项目名称,默认使用目录名称

三、编排实例

将docker-compose复制到/usr/bin目录下,并授权

[root@localhost ~]# mv docker-compose /usr/bin
[root@localhost bin]# chmod +x docker-compose

创建nginx工作目录

[root@localhost ~]# mkdir -p /compose_nginx/nginx && cd /compose_nginx/nginx
[root@localhost nginx]# vim Dockerfile
FROM centos:7
MAINTAINER wu
RUN yum -y update
RUN yum -y install make gcc gcc-gcc pcre-devel zlib-devel
RUN useradd -M -s /sbin/nologin nginx
ADD nginx-1.12.2.tar.gz /usr/local/src
WORKDIR /usr/local/src/nginx-1.12.2
RUN ./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_stub_status_module && make && make install
ENV PATH /usr/local/nginx/sbin:$PATH
EXPOSE 80
EXPOSE 443
##关闭nginx的守护进程,否则会和容器的守护进程冲突
RUN echo "daemon off;" >> /usr/local/nginx/conf/nginx.conf 
ADD run.sh /run.sh
RUN chmod 755 /run.sh
CMD ["/run.sh"]

[root@localhost nginx]# vim run.sh
#!/bin/bash
/usr/local/nginx/sbin/nginx

[root@localhost nginx]# ll
总用量 968
-rw-r--r--. 1 root root    595 1130 14:20 Dockerfile
-rw-r--r--. 1 root root 981687 115 15:24 nginx-1.12.2.tar.gz
-rw-r--r--. 1 root root     40 1130 14:22 run.sh

创建编辑 yml 文件:

[root@localhost compose_nginx]# vim docker-compose.yml
version: '3'
services: 
  nginx:
    hostname: nginx
    build:
      context: ./nginx
      dockerfile: Dockerfile
    ports:
      - 1216:80      
      - 1217:443
    networks:
      - abc
    volumes:
      - ./wwwroot:/usr/local/nginx/html
networks:
  abc:

编写网页文件

[root@localhost compose_nginx]# mkdir wwwroot
[root@localhost compose_nginx]# cd wwwroot/
[root@localhost wwwroot]# vim index.html
[root@localhost wwwroot]# 
<h1>This is Web!</h1>

此时,可以用 tree 命令,查看一下根目录下的文件结构:

[root@localhost compose_nginx]# tree ./
./
|-- docker-compose.yml
|-- nginx
|   |-- Dockerfile
|   |-- nginx-1.12.2.tar.gz
|   `-- run.sh
`-- wwwroot
    `-- index.html

2 directories, 5 files

执行开启:

[root@localhost compose_nginx]# docker-compose -f docker-compose.yml up -d

在这里插入图片描述
查看能否正常访问
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值