docker-compose 学习笔记2
2017-01-06 16:02
495 查看
compose文件补充说明
compose文件用的是yml格式,docker规定了一些指令,使用它们可以去设置对应的东西,它主要分为3个区域:services:
服务,在它下面可以定义应用需要的一些服务,每个服务都有自己的名字,使用的镜像、挂载的数据卷、所属的网络、依赖那些服务等等;
networks:
应用的网络,在它下面可以定义应用的名字,使用的网络类型等等;
volumes:
数据卷,在它下面可以定义的数据卷(名字等等),然后挂载到不同的服务下去使用。
networks
网络决定了服务之间以及服务和外界之间如何去通信,在执行docker-compose up的时候,docker会默认创建一个默认的网络,创建的服务也会默认地属于这个默认网络。服务和服务之间,可以使用服务的名字进行通信。也可以自己创建网络,并将服务属于到这个网络之中,这样服务之间可以相互通信,而外界就不能够与这个网络中的服务通信,可以保持隔离性。version: '2' services: dog: image: nginx ports: - "8080:80" networks: - "animal" cat: image: nginx ports: - "8081:80" networks: - "animal" networks: animal: driver: bridge
进入容器cat,ping dog
下面可以添加一个pig的服务,使用默认网络,来体现自定义网络的属性
version: '2' services: dog: image: nginx ports: - "8080:80" networks: - "animal" cat: image: nginx ports: - "8081:80" networks: - "animal" pig: image: nginx ports: - "8082:80" networks: - "default" networks: animal: driver: bridge
进入容器cat,ping dog,ping pig
Volumes
在compose文件中,还可以指定一些有名字的数据卷,让服务去使用。方法是:在与networks同级的地方,添加volumes,接着是数据卷的名字。version: '2' services: dog: image: nginx ports: - "8080:80" networks: - "animal" volumes: - nest:/mnt cat: image: nginx ports: - "8081:80" networks: - "animal" volumes: - nest:/mnt pig: image: nginx ports: - "8082:80" networks: - "default" networks: animal: driver: bridge volumes: nest: driver:local
这里在dog容器的/mnt目录下创建一个文件就可以在cat相应的容器中看到
相关文章推荐
- Docker - Install docker on CentOS
- Docker 第一篇--初识docker
- 【Network】Neutron-Docker-K8S
- Docker理解
- Docker 从入门到精通(二) 搭建本地仓库
- docker-compose学习笔记1
- mac 下使用Docker安装搭建tensorflow环境
- centos7 安装docker步骤详细介绍
- Docker中使用163 Hub 镜像下载加速(Centos 6)
- docker容器内外进行数据拷贝
- docker进入运行中的容器的方法
- windows docker环境设置注意事项
- 建立docker私有仓库
- 利用python自动生成docker nginx反向代理配置
- docker-compose启动的tomcat无法远程连接jmx
- Gitlab 认证机制
- 用 Docker 构建、运行、发布一个 Spring Boot 应用
- oracle linux run docker error FATA[0001] Error starting daemon: Devices cgroup isn't mounted
- 基于centos7镜像创建可以ssh链接的Docker容器
- ssh登录docker容器