docker-compose可以批量管理容器。

1. 安装docker-compose:

  1. 下载docker-compose:

下载路径:docker-compose下载

  1. 已入dockerfile文件夹,并改名:

image.png

  1. 授权docker-compose,执行:

image.png

  1. 配置环境变量:

image.png

  1. 配置文件:

创建文件夹
image.png
在文件夹中创建docker-compose.yml,该文件中,不要使用制表符。

  1. version: '3.1'
  2. services:
  3. mysql: # 服务的名称
  4. restart: always # 代表只要docker启动,那么这个容器就跟着一起启动
  5. image: daocloud.io/library/mysql:5.7.4 # 指定镜像路径
  6. container_name: mysql # 指定容器名称
  7. ports:
  8. - 3306:3306 # 指定端口号的映射
  9. environment:
  10. MYSQL_ROOT_PASSWORD: root # 指定MySQLROOT用户登录密码
  11. TZ: Asia/Shanghai # 指定时区
  12. volumes:
  13. - ./mysql/data:/var/lib/mysql # 映射数据卷
  14. tomcat:
  15. restart: always
  16. image: daocloud.io/library/tomcat:8.5.16-jre8-alpine
  17. container_name: tomcat
  18. ports:
  19. - 8080:8080
  20. environment:
  21. TZ: Asia/Shanghai
  22. volumes:
  23. - ./tomcat/webapps:/usr/local/tomcat/webapps
  24. - ./tomcat/logs:/usr/local/tomcat/logs
  1. 配置文件和docker-compose绑定:

在配置文件目录执行:docker-compose up -dimage.png

2. docker-compose命令:

在使用docker-compose的命令时 ,默认会在当前目录下找docker-compose.yml文件

  1. # 1. 基于docker-compose.yml启动管理的容器
  2. docker-compose up -d
  3. # 2. 关闭并删除容器
  4. docker-compose down
  5. # 3. 开启|关闭|重启已经存在的由docker-compose维护的容器
  6. docker-compose start|stop|restart
  7. # 4. 查看由docker-compose管理的容器
  8. docker-compose ps
  9. # 5. 查看日志
  10. docker-compose logs -f

3. docker-compose配合dockerfile:

使用docker-compose.yml文件以及Dockerfile文件在生成自定义镜像的同时启动当前镜像,并且由docker-compose去管理容器。

  1. # yml文件
  2. version: '3.1'
  3. services:
  4. ssm:
  5. restart: always
  6. build: # 构建自定义镜像
  7. context: ../ # 指定dockerfile文件的所在路径
  8. dockerfile: Dockerfile # 指定Dockerfile文件名称
  9. image: ssm:1.0.1
  10. container_name: ssm
  11. ports:
  12. - 8081:8080
  13. environment:
  14. TZ: Asia/Shanghai
  1. from daocloud.io/library/tomcat:8.5.15-jre8
  2. copy ssm.war /usr/local/tomcat/webapps

运行:

# 可以直接启动基于docker-compose.yml以及Dockerfile文件构建的自定义镜像
docker-compose up -d
# 如果自定义镜像不存在,会帮助我们构建出自定义镜像,如果自定义镜像已经存在,会直接运行这个自定义镜像
# 重新构建的话。
# 重新构建自定义镜像
docker-compose build
# 运行当前内容,并重新构建
docker-compose up -d --build