码迷,mamicode.com
首页 > 其他好文 > 详细

14.docker-compose的模板内命令之单个服务启动

时间:2021-03-09 13:35:25      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:har   highlight   span   compass   def   自己   rabbitmq   mariadb   efault   

1.docker是通过镜像去创建容器用的

2.Dockerfile是通过别的镜像,增加些操作去自己制作镜像

3.docker-compose可以理解成docker的升级版,docker能做的事情它也能做,同时它还具有编排多个docker的作用。

假如:我们有两个容器,一个是springboot应用,一个是mysql。那么我们会通过docker去创建两个容器,但是我们要求得先启动mysql再启动应用,这时候docker就显得有些无能了,但是docker-compose却有编排的能力。

 

前提:

1.服务器要先安装好docker-compose

2.寻找一处文件夹作为docker-compose的上下文,在里面创建一个文件叫 docker-compose.yml 大小写一个字都不差,就是spring的application.yml类似,作为默认文件。

3.通过命令 docker-compose up (-d)的方式来启动

 

我们通过单个容器对比以及多个编排在一起的方式来学习docker-compose

-----------------------------------------------------------------------------------------------------------------

1.mysql

1)docker方式启动

docker run 
        -v /data/mariadb/conf.d:/etc/mysql/conf.d 
        -v /data/mariadb/logs:/logs 
        -v /data/mariadb/data:/var/lib/mysql 
        -e MYSQL_ROOT_PASSWORD=‘compass#123456‘ 
    -p 6603:3306 
    --restart=always 
    --privileged=true 
    --name compass-mariadb 
    -d mariadb:10.4.15

2)docker-compose方式启动

version: "3"
services:
  mysql:
    image: mariadb:10.4.15
    container_name: compass-mariadb
    environment:
      - MYSQL_ROOT_PASSWORD=compass#123456
    privileged: true
    restart: always
    ports:
      - "6603:3306"
    volumes:
      - mysqlconfig:/etc/mysql/conf.d
      - mysqllog:/logs
      - /data/mariadb/data:/var/lib/mysql

volumes:
  mysqlconfig:
    external:
      false
  mysqllog:

 说明一下:我这边通过默认数据卷的方式,用了两个默认数据卷

mysqlconfig   mysqllog  可以通过命令 docker volume ls来查看系统所有的数据卷  通过命令docker inspect mysqllog来查询某个数据卷的具体信息,包括路径

2.rabbitmq
1)docker 方式启动
docker run 
       -e RABBITMQ_DEFAULT_USER=compass 
       -e RABBITMQ_DEFAULT_PASS=compass123456 
       -p 16672:15672 
       -p 6672:5672 
       --restart=always 
       --privileged=true 
       --name compass-rabbitmq 
       -d registry.kpmg.com/rabbitmq:3.8.3-management

  2)docker-compose启动

version: "3"
services:
    rabbit-mq:
      image: registry.kpmg.com/rabbitmq:3.8.3-management
      container_name: compass-rabbitmq
      environment:
        - RABBITMQ_DEFAULT_USER=compass
        - RABBITMQ_DEFAULT_PASS=compass123456
      privileged: true
      restart: always
      ports:
        - "16673:15672"
        - "6673:5672"

 3.redis

1)docker方式启动

version: "3"
services:
  redis:
    image: harbor.cn.kworld.kpmg.com/library/redis:6.0.9
    container_name: shared-redis
    command: redis-server --appendonly yes --requirepass 123456
    restart: always
    ports:
      - "16379:6379"
    volumes:
      - /apps/redis/data:/data

2)docker-compose方式启动

version: "3"
services:
  redis:
    image: harbor.cn.kworld.kpmg.com/library/redis:6.0.9
    container_name: my-redis
    command: redis-server --appendonly yes --requirepass 123456
    restart: always
    ports:
      - "26379:6379"
    volumes:
      - redisdata:/data
volumes:
  redisdata:

  

总结:其实docker-compose就是另一种docker方式的写法

 

真实运行效果:

1 文件位置

技术图片

 

 

2.分别到不同的文件夹下去执行命令  docker-compose up -d

3.最后查询

技术图片

 

14.docker-compose的模板内命令之单个服务启动

标签:har   highlight   span   compass   def   自己   rabbitmq   mariadb   efault   

原文地址:https://www.cnblogs.com/johnzhao/p/14502309.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!