内容简介:通过前面的使用,我们发现从镜像启动一个容器特复杂,映射端口、守护进程、挂载目录、容器命名、特权模式等等,参数特别多。还有生产环境中需要有几十个、上百个容器,然道我们一个一个的去操作?有没有好的解决办法??文档地址:
通过前面的使用,我们发现从镜像启动一个容器特复杂,映射端口、守护进程、挂载目录、容器命名、特权模式等等,参数特别多。还有生产环境中需要有几十个、上百个容器,然道我们一个一个的去操作?有没有好的解决办法??
文档地址:
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 发布,容器编排工具
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
人人都是产品经理——写给产品新人
苏杰 / 电子工业出版社 / 2017-6 / 66.60
《人人都是产品经理——写给产品新人》为经典畅销书《人人都是产品经理》的内容升级版本,和《人人都是产品经理2.0——写给泛产品经理》相当于上下册的关系。对于大量成长起来的优秀互联网产品经理、众多想投身产品工作的其他岗位从业者,以及更多有志从事这一职业的学生而言,这《人人都是产品经理——写给产品新人》曾是他们记忆深刻的启蒙读物、思想基石和行动手册。作者以分享经历与体会为出发点,以“朋友间聊聊如何做产品......一起来看看 《人人都是产品经理——写给产品新人》 这本书的介绍吧!