Docker-compose
运行一个docker 需要大量的参数,可以通过docker-compose来编写这些参数;
docker-compose 可以批量的管理容器;
只需要通过一个docker-compose.yml文件去维护即可;
下载docker-compose
- github:https:【版本:1.24.1】//github.com/docker/compose/releases/tag/1.24.1
- 给予docker-compose文件一个可执行的权限
chmod 777 文件名- 配置一个环境变量
移动二进制文件到/usr/local/bin,修改/etc/profile文件,将/usr/local/bin配置到path中
mv docker-compose /usr/local/bin
vi /etc/profile
source /etc/profile
以docker-compose管理mysql和tomcat容器为例
- yml文件以key:value方式来指定配置信息
- 多个配置信息以换行+缩进(2space)的方式来区别
- 在docker-compose.yml 文件中,不可以使用制表符
- 在使用docker-compose命令时,会默认从当前目录下找docker-compose.yml文件
version: '3.1'
service:
mysql: #服务名称
restart: always #代表只要启动docker,那门容器会跟着启动
image: daocloud.io/library/mysql:5.7.6 # 指定镜像路径
container_name: mysql #指定容器名称
ports:
- 3306:3306 #指定端口映射
environment:
MYSQL_ROOT_PASSWORD: root #指定mysql的root用户登录密码
TZ: Asia/Shanghai #指定时区
volumes:
- /opt/docker_mysql_tomcat/mysql_data:/var/lib/mysql #映射数据卷
tomcat:
restart: always
image: daocloud.io/library/tomcat:8.0.44-jre8-alpine
container_name: tomcat
ports:
- 8080:8080
environment:
TZ: Asia/Shanghai
volumes:
- /opt/docker_mysql_tomat/tomcat_webapps:/usr/local/tomcat/webapps
- /opt/docker_mysql_tomat/tomcat_logs:/usr/local/tomcat/logs
docker-compose命令管理
# 基于docker-compose.yml启动管理的容器
docker-compose up -d
# 关闭并删除容器
docker-compose down
# 开启|关闭|重启已经存在的有docker-compose维护的容器
docker-compose start|stop|restart
# 查看由docker-compose管理的容器
docker-compose ps
# 查看日志
docker-compose logs -f
docker-compose配合dockerfile使用
以blog服务为例
项目路径
-Project
–Docker-compose
—docker-compose.yml
–Dockerfile
–blog
docker-compose.yml
version: '3.1'
services:
blog:
restart: always
build: #构建自定义镜像
context: ../ #指定dockerfile文件的所在路径
dockerfile: Dockerfile # 指定Dockerfile文件名称
image: blog:1.0.0
container_name: blog
ports:
- 8082:8080
environment:
TZ: Asia/Shanghai
from daocloud.io/library/tomcat:8.0.44-jre8-alpine
copy blog /usr/local/tomcat/webapps