docker-compose部署SpringBoot项目
docker-compose部署SpringBoot项目
简介
docker-compose 是 Docker 官方的开源项目,主要用于实现对 Docker 容器集群的快速编排。
用户可以通过 docker-compose.yml
来定义一组相关联的容器作为一个项目(project
)
docker-compose的两个概念:
- 服务(
service
):应用的容器 - 项目(
project
):一组关联的服务组成,在docker-compose.yml
中定义
安装
下载最新版的docker-compose文件 (截止2022.1.28)
1 | sudo curl -L https://github.com/docker/compose/releases/download/v2.2.3/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose |
*下载慢换国内源
1 | sudo curl -L https://get.daocloud.io/docker/compose/releases/download/v2.2.3/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose |
添加可执行权限
1 | sudo chmod +x /usr/local/bin/docker-compose |
检查是否安装成功
1 | [root@fengye]docker-compose --version |
编写docker-compose.yml文件
模板:
1 | version: "3.7" |
启动
1 | docker-compose up -d |
实例
初始文件结构:
1 | . |
Dockerfile:
1 | FROM adoptopenjdk/openjdk11:alpine-slim |
docker-compose.yml文件:
1 | version: "3.7" |
踩坑:command指令如果有多条,不能使用这种形式:
1 | command: |
解决方案:docker-compose command 执行多条指令
docker-compose常用命令
UP
格式为docker-compose up [options] [service]
1 | docker-compose 对整个项目操作启动 |
Down
停止和删除容器、网络、卷、镜像
1 | docker-compose 关闭所有容器 |
Exec
进入某个服务的内部
1 | docker-compose exec [服务id] bash |
ps
列出当前项目所有运行的服务
1 | docker-compose ps |
restart
重启服务
1 | docker-compose restart [服务id] |
stop
停止服务
1 | docker-compose stop [服务id] |
rm
删除停止状态的整个项目或者某个服务
1 | docker-compose rm [服务id] |
强制删除
1 | docker-compose rm -f [服务id] |
top
查看整个项目所有服务的进程或者某个指定服务的进程
1 | docker-compose top [服务id] |
unpause
恢复处于暂停状态中的服务
1 | docker-compose unpause [服务id] |
pause
暂停所有服务或者某一个服务
1 | docker-compose pause [服务id] |
logs
查看容器的日志
1 | docker-compose logs [服务id] |
查看实时日志
1 | docker-compose logs -f [服务id] |
All articles on this blog are licensed under CC BY-NC-SA 4.0 unless otherwise stated.