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
执行成功示例