6.Docker Compose

6.Docker Compose

Compose:定义和运行多个 Docker 容器的应用

YUML语法:animal: pets 冒号后面要空一格

YAML语法:https://www.ruanyifeng.com/blog/2016/07/yaml.html

Dokcer从入门到实践:https://yeasy.gitbook.io/docker_practice/compose/commands

新建一个docker-compose.yml文件

version: '3.6'
services: 
  db: 
    image: mysql
    container_name: db
    command: mysqld --character-set-server=utf8 --collation-server=utf8_general_ci
    restart: always
    ports:
      - 3306:3306
    environment:
      MYSQL_ROOT_PASSWORD: 123456
      MYSQL_USER: jesse #user不能为root
      MYSQL_PWSSWORD: 123456
    #volumes用不了报错 services.db Additional property volumns is not allowed
    volumes: 
      - /d/docker/beta/mysql-init:/docker-entrypoint-initdb.d/docker/beta/mysql-init
  web:
    build: .
    container_name: aspnetcore
    ports:
      - "8002:5001"
    depends_on:
      - db

在挂载卷主机上新建initsql文件

GRANT ALL PRIVILEGES ON *.* TO 'jesse'@'%' WITH GRANT OPTION; 

docker-compose常用的命令

#构建(重新构建)项目中的服务容器
$ docker-compose build

#自动完成包括构建镜像,(重新)创建服务,启动服务,并关联服务相关容器的一系列操作
#链接的服务都将会被自动启动,除非已经处于运行状态。
$ docker-compose up
#将会在后台启动并运行所有的容器
$ docker-compose up -d

#此命令将会停止 up 命令所启动的容器,并移除网络
$ docker-compose down 

执行成功示例

image-20211201164249039

posted @ 2021-12-01 17:02  CCmonitor  阅读(119)  评论(0)    收藏  举报