docker-compose

docker-compose(多容器管理,一个项目)
Docker 提倡理念是 “一个容器一个进程”,假设一个服务需要由多个进程组成,就需要多个容器组成一个系统,相互分工和配合对外提供完整服务
在启动容器是,同一台主机下如果两个容器之间需要由数据交流,使用 --link 选项建立两个容器之间的互联,前提是建立mariadb 已经开启

容器编排工具,允许用户在一个模板( YAML 格式 )中定义一组相关联的容器,会根据 --link 等参数,对启动的优先级进行排序
docker-compose基本语法
version: '2'
services:
  web:
    image: dockercloud/hello-world
    ports:
      - 8080
    networks:
      - front-tier
      - back-tier
 
  redis:
    image: redis
    links:
      - web
    networks:
      - back-tier
 
  lb:
    image: dockercloud/haproxy
    ports:
      - 80:80
    links:
      - web
    networks:
      - front-tier
      - back-tier
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock 
 
networks:
  front-tier:
    driver: bridge
  back-tier:
driver: bridge


关键字
image(镜像)
build:服务除了可以基于指定的镜像,还可以基于一份 Dockerfile,在使用 up 启动之时执行构建任务,这个构建标签就是 build,它可以指定 Dockerfile 所在文件夹的路径。Compose 将会利用它自动构建这个镜像,然后使用这个镜像启动服务    容器(即支持绝对路径,也支持相对路径,只要上下文确定就可以读取dockerfile文件)
command    docker run   镜像名   修改的启动命令
container_name:<项目名称><服务名称><序号>
depends_on:依赖于谁
dns:修改容器内部dns服务器
tmpfs:临时目录
entrypoint:指定启动命令
env_file:批量化替换容器内的环境变量(符合kv结构)
environment:镜像变量
expose:端口暴露(提示很重要,但是外部访问不到)
external_links:链接外部容器
extra_hosts:解析记录
labels   -  docker-swarm :标签(主要工作在docker-swarm集群)
links:与 Docker client 的 --link 一样效果,会连接到其它服务中的容器
logging   json-file:指定当前日志存储方式(json格式)
pid:当前进程的pid名
port  :当前暴露的端口  (外部可以访问到)            
security_opt:覆盖默认服务标签(以废除)
stop_signal:信号
volumes:卷
volumes_from:从其它容器或者服务挂载数据卷,可选的参数是 :ro或者 :rw,前者表示容器只读,后者表示容器对数据卷是可读可写的。默认情况下是可读可写的
cap_add, cap_drop:特殊权限的添加,移除
extends:添加其他的yaml文件(本文件+添加的yaml文件才是完整的dockercompose文件)
network_mode:网络模式
networks:网络

Example


version: '2'

services:
   db:
     image: mysql:5.7
     restart: always
     environment:
       MYSQL_ROOT_PASSWORD: somewordpress
       MYSQL_DATABASE: wordpress
       MYSQL_USER: wordpress
       MYSQL_PASSWORD: wordpress

   wordpress:
     depends_on:
       - db
     image: wordpress:latest
     restart: always
     ports:
       - "80:80"
     environment:
       WORDPRESS_DB_HOST: db:3306
       WORDPRESS_DB_USER: wordpress
       WORDPRESS_DB_PASSWORD: wordpress

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值