内容简介:通过前面的使用,我们发现从镜像启动一个容器特复杂,映射端口、守护进程、挂载目录、容器命名、特权模式等等,参数特别多。还有生产环境中需要有几十个、上百个容器,然道我们一个一个的去操作?有没有好的解决办法??文档地址:
通过前面的使用,我们发现从镜像启动一个容器特复杂,映射端口、守护进程、挂载目录、容器命名、特权模式等等,参数特别多。还有生产环境中需要有几十个、上百个容器,然道我们一个一个的去操作?有没有好的解决办法??
文档地址:
https://docs.docker.com/compo...
Docker Compose 容器编排工具,也可以认为是一个构建工具,可以配置并启动多个容器,适合复杂业务场景。
安装:
一切按照官方文档来: https://docs.docker.com/compo...
sudo curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose
compose的配置文件使用yaml格式
Docker Compose 官方入门文档:
https://docs.docker.com/compo...
创建一个项目目录
mkdir composetest cd composetest
创建一个docker-compose.yml文件,并编写下面的内容
version: "3"
services:
web1:
container_name: web1
image: "centos:httpd"
ports:
- "8080:80"
privileged: true
volumes:
- "/app/www/web1/:/var/www/html/"
command: ['/usr/sbin/init']
web2:
container_name: web2
image: "centos:httpd"
ports:
- "8081:80"
privileged: true
volumes:
- "/app/www/web2/:/var/www/html/"
command: ['/usr/sbin/init']
// services:定义一组服务
// web1:服务名
// container_name:容器名称
// ports:端口映射
// privileged:特权
// volumes:目录挂载
// version:代表当前使用的版本,compose经历了多个版本,每个版本的支持的参数以及一些命令是不一样的
// 关于version介绍的官方文档:https://docs.docker.com/compose/compose-file/
可以将我们编写的yaml格式的文件放入在线检查 工具 进行效验格式是否正确
yaml在线检查工具: http://www.yamllint.com
使用docker-compose启动容器
启动之前先确认是否有正在运行的容器占用了端口!!!
// 查看docker-compose帮助:docker-compose --help // docker-compose up:创建并启动容器 docker-compose up -d // -d 后台运行 // 更多参数帮助:docker-compose up --help
在宿主机的挂载到容器中的目录里面创建html,然后测试容器是否正常访问
echo "web1" > /app/www/web1/index.html echo "web2" > /app/www/web2/index.html // 访问web1 curl 127.0.0.1:8080 // 访问web2 curl 127.0.0.1:8081
不出意外的话,正常访问!
我们现在通过一条命令就可以快速创建容器并启动了
关闭运行的容器
// 默认关闭所有 docker-compose stop // 可以指定关闭其中某个 docker-compose stop web1
删除容器
// 删除所有 docker-compose rm // 可以指定删除其中某个 docker-compose rm web1
docker-compose的所有操作必须在docker-compose.yml文件所在目录中进行。
以后我们只需要编写compose.yml文件,就可以,不再需要每次输入大量的参数来启动一个容器,害怕输错、输漏了
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- Docker 容器编排实践练习
- Kubernetes容器编排的三大支柱
- [译] 容器编排的优势与特点
- 1.09 容器编排Kubernetes
- Docker 多容器编排Swarm(六)
- Kubernetes 1.11.0 发布,容器编排工具
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Programming Python
Mark Lutz / O'Reilly Media / 2006-8-30 / USD 59.99
Already the industry standard for Python users, "Programming Python" from O'Reilly just got even better. This third edition has been updated to reflect current best practices and the abundance of chan......一起来看看 《Programming Python》 这本书的介绍吧!