- compose概述
- YAML简介
- YAML支持的数据结构
- docker compose常用命令
- docker compose配置常用字段
- 使用compose编排
- 使用compose编排 安装运行tomcat容器
compose是一个用于定义及允许多个Docker容器的工具,主要是通过一个YAML文件进行服务配置
使用Docker Compose不再需要使用Shell脚本来启动容器
Docker Compose非常适合组合使用多个容器进行开发的场景
YAML简介YAML(语言)的设计目标,就是方便人类读写,它实质上是一种通用的数据串行化格式
它的基本语法规则如下:
大小写敏感
使用缩进表示层级关系
缩进时不允许使用Tab键,只允许使用空格
缩进的空格数目不重要,只要相同层级的元素左侧对齐即可
#表示注释
对象,键值对的集合
数组,一组按次序排列的值,又称序列
纯量,单个的,不可再分的值
2、安装compose
[root@localhost ~]# cd /usr/local/ [root@localhost local]# rz [root@localhost local]# ls bin etc include lib64 sbin src docker-compose games lib libexec share [root@localhost local]# chmod +x docker-compose [root@localhost local]# mv docker-compose /usr/bindocker compose常用命令 docker compose配置常用字段 使用compose编排
1、使用compose编排 安装运行nginx容器
[root@localhost bin]# cd /opt/ [root@localhost opt]# mkdir compose-nginx [root@localhost opt]# cd compose-nginx/ [root@localhost compose-nginx]# mkdir nginx [root@localhost compose-nginx]# cd nginx/ [root@localhost nginx]# rz [root@localhost nginx]# ls nginx-1.12.2.tar.gz [root@localhost nginx]# vim Dockerfile FROM centos:7 MAINTAINER WXB:<1444831826@qq.com> RUN yum -y install pcre-devel zlib-devel gcc gcc-c++ make RUN useradd -M -s /sbin/nologin nginx ADD nginx-1.12.2.tar.gz /usr/local WORKDIR /usr/local/nginx-1.12.2 RUN ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module && make && make install RUN echo "daemon off;" >> /usr/local/nginx/conf/nginx.conf RUN echo -e "#!/bin/bash n /usr/local/nginx/sbin/nginx" > /run.sh RUN chmod +x /run.sh EXPOSE 80 CMD ["/run.sh"] :wq
[root@localhost nginx]# cd .. [root@localhost compose-nginx]# vim nginx-compose.ym1 version: '3' services: nginx: hostname: nginx build: context: ./nginx dockerfile: Dockerfile ports: - 1111:80 networks: - cluster volumes: - ./wxb:/usr/local/nginx/html networks: cluster: :wq使用compose编排 安装运行tomcat容器
[root@localhost compose-nginx]# cd /opt/ [root@localhost opt]# mkdir compose-tomcat [root@localhost opt]# cd compose-tomcat/ [root@localhost compose-tomcat]# mkdir tomcat [root@localhost compose-tomcat]# rz [root@localhost compose-tomcat]# rz [root@localhost compose-tomcat]# ls apache-tomcat-9.0.16.tar.gz jdk-8u201-linux-x64.rpm tomcat FROM centos:7 MAINTAINER WXB:<1444831826@qq.com> ADD apache-tomcat-9.0.16.tar.gz /usr/local ADD jdk-8u201-linux-x64.tar.gz /usr/local WORKDIR /usr/local RUN mv apache-tomcat-9.0.16 tomcat RUN mv jdk1.8.2_01 java ENV JAVA_HOME /usr/local/java ENV CLASSPATH $JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar ENV PATH $JAVA_HOME/bin:$PATH EXPOSE 8080 CMD ["/usr/local/tomcat/bin/catalina.sh","run"] :wq
[root@localhost compose-tomcat]# vim Dockerfile [root@localhost compose-tomcat]# cd .. version: '3' services: tomcat: hostname: tomcat build : context: ./tomcat dockerfile: Dockerfile ports: - 7788:8080 networks: - cluster networks: cluster: :wq docker-compose -f tomcat-compose.yml up -d ==真机访问http://IP:7788==



