使用意义
- 之前运行一个镜像,需要添加大量参数
- 可通过Docker-Compose编写这些参数
- Docker-Compose可以帮助我们批量管理容器
- 只需要一个docker-compose.yml文件去维护即可
1.下载Docker-Compose
(1) 去github官网搜索docker-compose,下载所需版本
(2) 将下载好的文件,拖拽到linux系统中(secureCRT使用alt+p,把文件拖入窗口,即可把文件上传至/root目录下)
(3) 将文件名称修改一下,并赋予可执行权限
mv docker-compose-Linux-x86_64 docker-compose
chmod 777 docker-compose
(4) 方便后期操作,配置一个环境变量,将docker-compose文件移动到/usr/local/bin,修改/etc/profile文件
mv docker-compose /usr/local/bin
vim /etc/profile
export PATH=$JAVA_HOME:/usr/local/bin:PATH
source /etc/profile
(5) 任意目录输入docker-compose测试一下
2.docker-compose管理tomcat和mysql
- .yml文件介绍
key: value的形式编写配置信息
多个配置信息以换行/缩进的形式组合
version: '3.1' # 对应指定版本
services:
mysql: # 服务名称
restart: always # 只要docker启动,这个容器跟着启动
image: daocloud.io/library/mysql:8.0.2 # 指定镜像路径
container_name: mysql # 指定容器名称
ports:
- 3306:3306 # 指定端口映射
environment:
MYSQL_ROOT_PASSWORD: root # 指定root密码
TZ: Asia/Shanghai # 时区
volumes:
- /opt/docker_mysql_tomcat/mysql_data:/var/lib/mysql # 数据卷
tomcat:
restart: always
image: daocloud.io/library/tomcat:8.5.15-jre8
container_name: tomcat
ports:
- 8080:8080
environment:
TZ: Asia/Shanghai
volumes:
- /opt/docker_mysql_tomcat/tomcat_webapps:/usr/local/tomcat/webapps
- /opt/docker_mysql_tomcat/tomcat_logs:/usr/local/tomcat/logs
3.使用docker-compose命令管理容器
docker-compose命令会默认在当前目录下寻找docker-compose.yml
(1) 启动容器docker-compose -up -d
(2)关闭删除容器docker-compose down
(3)开启|关闭|重启由docker-compose创建的容器docker-compose start|stop|restart
(4)查看容器docker-compose ps
(5)查看日志docker-compose logs -f
4.docker-compose配合dockerfile使用
# yml文件
version: '3.1'
services:
ssm:
restart: always
build:
context: ../ # 指定dockerfile文件所在路径,此处位与上级目录
dockerfile: Dockerfile # Dockerfile文件名称
image: ssm:1.0.1
container_name: ssm
ports:
- 8081:8080
environment:
TZ: Asia/Shanghai
# Dockerfile
from daocloud.io/library/tomcat:8.5.15-jre8
copy ssm.war /usr/local/tomcat/webapps
直接启动基于docker-compose.yml文件构建的自定义镜像
docker-compose up -d
重新构建自定义镜像
docker-compose build
运行前重新构建
docker-compose up -d --build