文章目录
一、Docker Compose 容器编排:
1、Docker Compose 前身是Fig,是一个定义及运行多个 Docker 容器的工具;
2、使用 Docker Compose 不再需要使用 shell脚本来启动容器;
3、Docker Compose 非常适合组合使用多个容器进行开发的场景。
4、Docker Compose 的文件结构:
vim docker-compose.yml
YAML 是一种标记语言很直观的数据序列化格式
以下是文件格式及编写注意事项:
1、不支持制表符Tab键缩进,需要使用空格缩进;
2、通常开头缩进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 指定项目名称,默认使用目录名称
三、编排实例
(1)、将docker-compose复制到/usr/bin目录下,并授权
[root@localhost ~]# mv docker-compose /usr/bin
[root@localhost bin]# chmod +x docker-compose
(2)、创建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 11月 30 14:20 Dockerfile
-rw-r--r--. 1 root root 981687 11月 5 15:24 nginx-1.12.2.tar.gz
-rw-r--r--. 1 root root 40 11月 30 14:22 run.sh
(3)、创建编辑 yml 文件:
[root@localhost compose_nginx]# vim docker-compose.yml
version: '3'
services:
nginx:
hostname: nginx