windows版 docker desktop学习笔记——7. docker-compose容器编排

docker 容器编排,主要用于多个有关联关系的容器管理,例如容器有依赖关系,微服务启动依赖于中间件,需要中间件先启动,其本质就是将一条条的容器启动命令统一放到一个脚本里面,通过启动,停止脚本去管理所容器。

一.微服务启动案例

1.创建docker-compose.yml 文件,文件名必须是这个,微服务启动依赖与redis和mysql

version: "3"

services:
  microService:
   image: mydockerjavaweb:v0.1
   container_name: ms01
   ports:
    - "8090:8090"
   volumes:
    - D:/mydocker/compose/microService:/data
   networks:
    - lenged_net
   depends_on:
    - redis
    - mysql
    
  redis:
   image: redis:6.0.8
   ports:
      - "6379:6379"
   volumes:
      - D:/mydocker/compose/redis-ms/redis.conf:/etc/redis/redis.conf
      - D:/mydocker/compose/redis-ms/data:/data
   networks:
      - lenged_net
   command: redis-server /etc/redis/redis.conf
  
  mysql:
    image: mysql:5.7
    environment:
      MYSLQ_ROOT_PASSWORD: '123456'
      MYSQL_ALLOW_EMPTY_PASSWORD: 'no'
      MYSQL_DATABASE: 'db2022'
      MYSQL_USER: 'lenged'
      MYSQL_PASSWORD: 'lenged'
    ports:
      - "3360:3306"
    volumes:
      - D:/mydocker/compose/mysql-ms/db:/var/lib/mysql
      - D:/mydocker/compose/mysql-ms/conf/my.cnf:/etc/my.cnf
      - D:/mydocker/compose/mysql-ms/init:/docker-entrypoint-initdb.d
    networks:
      - lenged_net
    command: --default-authentication-plugin=mysql_native_password #解决外部无法访问
networks:
  lenged_net:

此时微服务的yml配置文件数据库和redis可以配置为,容器服务名,类似于feign不用关注容器具体的ip

 windows版 docker desktop学习笔记——7. docker-compose容器编排_第1张图片

 2.运行docker-compose.yml文件

2.1验证docker-compose.yml文件是否正确:没有报错即为正确

docker-compose config -q #文件名必须为docker-compose.yml 

2.1 启动 docker-compose up -d

#创建并启动
docker-compose up -d

#停止并销毁
docker-compose down

#启动
docker-compse start

#停止
docker-compse stop

其他命令docker-compose --help

windows版 docker desktop学习笔记——7. docker-compose容器编排_第2张图片

注意:docker-compose创建网络时回加上当前文件夹的路径

windows版 docker desktop学习笔记——7. docker-compose容器编排_第3张图片

 

你可能感兴趣的:(docker学习,docker,docker-compose,容器编排)