Docker-compose管理docker容器

本地docker镜像:

 

现需要启动mysql,redis,rabbitmq,php-amqp四个镜像。且php-amqp依赖mysql,redis,rabbitmq。并且还需要让php容器能访问mysqld,redis,rabbitmq。如果单独使用dockerrun来启动会非常麻烦,现在用docker-compose来实现:

第一、  编写docker-compose.yml

version: '2'services:    mysqld5.6:            image: mysqld:v5.6            ports:                - '3306:3306'            volumes:                - D:/data/conf/mysqld/my.cnf:/usr/local/mysql/my.cnf                - D:/data/mysql/:/data/mysql            stdin_open: true            tty: true    redis:            image: redis:v5            ports:                - '6379:6379'            volumes:                - D:/data/redis:/usr/local/redis            stdin_open: true            tty: true    rabbitmq:            image: rabbitmq:latest            ports:                - '5672:5672'                - '15672:15672'            environment:                - RABBITMQ_DEFAULT_VHOST=my_vhost                  - RABBITMQ_DEFAULT_USER=admin                 - RABBITMQ_DEFAULT_PASS=admin            stdin_open: true            tty: true                    php5.6.40:            image: php-amqp:v5.6.40            depends_on:                - mysqld5.6                - redis                - rabbitmq            links:                - mysqld5.6:mysqld                - redis:redis                - rabbitmq:rabbitmq            ports:                - '80:80'                - '443:443'            volumes:                - D:/data/conf/httpd/httpd.conf:/usr/local/httpd/conf/httpd.conf                - D:/data/conf/httpd/extra:/usr/local/httpd/conf/extra                - D:/data/conf/php5.6.40/php.ini:/usr/local/php/etc/php.ini                - D:/data/www/:/data/www            stdin_open: true            tty: true

services下有以下主要属性

build:配置构建时,Compose 会利用它自动构建镜像,该值可以是一个路径,也可以是一个对象,用于指定 Dockerfile 参数

command:覆盖容器启动后默认执行的命令

dns:配置 dns 服务器,可以是一个值或列表

environment:环境变量配置,可以用数组或字典两种方式

env_file:从文件中获取环境变量,可以指定一个文件路径或路径列表,其优先级低于 environment 指定的环境变量

env_file: .env

expose:暴露端口,只将端口暴露给连接的服务,而不暴露给主机

image:指定服务所使用的镜像

network_mode:设置网络模式[container name/id]"

ports:对外暴露的端口定义,和 expose 对应

links:将指定容器连接到当前连接,可以设置别名,避免ip方式导致的容器重启动态改变的无法连接情况

volumes:卷挂载路径

 

第二、  到docker-compose.yml所在目录执行

docker-compose up –d

 

 

Rabbitmq容器运行:

 

 

 

Php容器运行:

 

 

 

Redis运行:

 

 

 

Mysql运行:

 

 

关注快乐程序员公众号,每日分享一点小知识。爱编程,爱生活!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值