赞
踩
一、什么是docker-compose
Docker-compose是一个定义及运行多个Docker容器的工具,它自身我们可以简单的理解为就是一个二进制文件(命令),是我们可以更方便易于管理的构建基于docker的复杂应用。
使用compose的过程:
编排:指挥的角色地位,根据被部署的对象之间的耦合关系,以及被部署对象的环境依赖,制定部署流程中各个动作的执行顺序,这些信息都会在编排工具中以指定的格式在配置文件中定义,保证这个流程可以随时在全新环境可靠有序重现。
解决相互有依赖关系的多个容器的管理。也不是必须,可以单台,也可以多台来解决依赖。
二、docker-compose安装部署
- curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
-
- chmod +x /usr/local/bin/docker-compose
-
- ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
-
- docker-compose --version
-
三、docker-compose管理命令介绍
1.compose具有管理应用程序整个生命周期的命令 启动 、停止、和重建服务,查看正在运行的服务状态、流式传输运行服务的日志输出,在服务上运行一次性命令
2.常用命令 帮助信息
- docker-compose build service_a 创建一个镜像名叫service_a用于通过容器发送SIGKILL信号强行停止服务
- [root@localhost-]# docker-compose kill 显示service的日志信息
- [root@localhost-]# docker-compose logs 暂停和恢复服务
- [root@localhost~]# docker-compose pause/unpause docker-compose pause 暂停服务
-
- [root@localhost~]# docker-compose un pause 恢复被暂停的服务用于查看服务中的端口与物理机的映射关系
-
- docker-compose port
- 例如:docker-compose port nginx_web 80 查看服务中80端口映射到物理机上的那个端口用于显示当前项目下的容器
- [root@localhost~]# docker-compose ps
- 注意, 此命令与docker ps不同作用, 此命令会显示停止后的容器(状态为Exited) , 只针对某个项目,用于拉取服务依赖的镜像
- [root@localhost~]# docker-compose pull 用于重启某个服务中的所有容器
- [root@localhost~]# docker-compose restart
- 例如:docker-compose restart service_name#只有正在运行的服务可以使用重启命令, 停止的服务是不可以重启删除停止的服务(服务里的容器)
- [root@localhost-] #docker-compose rm -f 强制删除 -v 删除与容器相关的卷(volumes) 用于在服务中运行一个一次性的命令
- [root@localhost~]# docker-composer un这个命令会新建一个容器, 它的配置和srvice的配置相同, 但两者之间还是有两点不同之处:
- 1、run指定的命令会直接覆盖掉service配置中指定的命令
- 2、run命令启动的容器不会创建在service配置中指定的端口,
- 如果需要指定便用--service-ports指定启动/停止运行某个服务的所有容器
- [root@localhost~] #docker-compose start/stop docker-compose start启动运行某个服务的所有容器
- docker-compose stop停止运行某个服务的所有容器 指定某个服务启动的容器个数
- [root@localhost-] #docker-compose scale
- [root@localhost~] #docker-compose scale --help
- 备注:docker-compose运行时是需要指service名称, 可以同时指定多个, 也可以不指定。
- 不指定时默认就是对配置文件中所有的service执行命令, -f 用于指定配置文件 -p 用于指定项目名称

四、docker-compose配置文件实例
1.创建文件夹
- mkdir composetest
- cd composetest/
- mkdir nginx
- mkdir webserver
2.编写docker-compose.yml文件
- version: "3"
- services:
- nginx:
- container_name: web-nginx1
- image: nginx:latest
- restart: always
- ports:
- - 80:80
- volumes:
- - ./webserver:/webserver
- - ./nginx/nginx.conf:/etc/nginx/conf.d/default.conf
-
-
-
- 把nginx的 default.conf 拷贝到nginx文件夹xia
配置文件简单的解释说明docker-compose的配置文件是一个.yml格式的文件
第一部分:version:"3" 指定语法的版本
第二部分services:定义服务nginx:服务的名称, -p 参数后接服务名称 container_name:web-nginx 容器的名称image:nginx:latest
第三部分volumes:物理机与容器的磁盘映射关系 /webserver:/webserver -/nginx/nginx.conf:/etc/nginx/nginx.conf
3.查看目录结构
4.修改nginx的 default.conf配置文件
5.启动容器
- docker-compose up -d
- docker-compose ps
6.验证效果
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。