一、Docker-Compose
1.1 什么是Docker-compose
Compose 是用于定义和运行多容器 Docker 应用程序的工具。通过 Compose可以使用 YML 文件来配置应用程序需要的所有服务。然后,使用一个命令,就可以从 YML 文件配置中创建并启动所有服务
1.2 Docker-Compose安装
前置条件:安装好Docker
下载docker-compose二进制文件到服务器指定目录
curl -L https://github.com/docker/compose/releases/download/1.24.0/docker_x0002_compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
重命名
mv docker-compose-Linux-x86 docker-compose
执行授权操作
chmod +x /usr/local/bin/docker-compose
测试
docker-compose version
1.3 Docker-Compose模板文件
1.3.1 什么是模板文件?
模板文件是使用 Compose 的核心,涉及到的指令关键字也比较多。但是这里面大部分指令跟 docker run 相关参数的含义都是类似的。
默认的模板文件名称为 docker-compose.yml ,格式为 YAML 格式。
1.3.2 docker-compose模板基本格式案例
version: "3.1"
services:
webapp:
image: examples/web
ports:
- 80:80
volumes:
- /data
1.3.3 docker-compose模板文件常用指令
image:指定为镜像名称或镜像 ID
ports:设置暴露端口,容器端口 (HOST:CONTAINER) 格式
volumes:数据卷所挂载路径设置
command:覆盖容器启动后默认执行的命令
container_name:指定容器名称
environment:设置环境变量
build:指定 Dockerfile 所在文件夹的路径
1.3.4 docker-compose基本命令
创建并运行容器
docker-compose up -d
参数:
-d 表示后台运行
启动容器
docker-compose start/restart
停止容器
docker-compose stop
停止并移除容器
docker-compose down
注意:命令必须在docker-compose.yml文件所在位置执行
1.4、案例
step1:安装docker-compose
从window拉取文件,重命名为docker-compose,并执行授权
step2:查看当前docker状态
把原来单一的容器删除,进行compose统一管理
step3:配置文件操作
version: "3.1"
#管理各种容器
services:
tomcat:
image: tomcat:8
ports:
- 8888:8080
container_name: mytomcat
restart: always
mysql:
image: mysql:5.7
ports:
- 3306:3306
container_name: mysql
environment:
MYSQL_ROOT_PASSWORD: root
volumes:
- ./mysql/conf:/etc/mysql/conf.d
- ./mysql/logs:/logs
- ./mysql/data:/var/lib/mysql
restart: always
配置文件保存后执行命令
step4:修改mysql配置文件
修改mysql编码格式,不然会乱码