🍁Docker-Compose
<article class="markdown-body" style="margin: 0px; padding: 0px; box-sizing: border-box; text-size-adjust: 100%; overflow-wrap: break-word; color: rgb(36, 41, 46); font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji"; font-size: 15px; line-height: 1.7; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;">
现存问题
在上节,我们运行了两个容器:Web 项目 + Redis
如果项目依赖更多的第三方软件,我们需要管理的容器就更加多,每个都要单独配置运行,指定网络。
这节,我们使用 docker-compose 把项目的多个服务集合到一起,一键运行。
本文档课件配套 视频教程
安装 Docker Compose
- 如果你是安装的桌面版 Docker,不需要额外安装,已经包含了。
- 如果是没图形界面的服务器版 Docker,你需要单独安装 安装文档
- 运行
docker-compose
检查是否安装成功
编写脚本
要把项目依赖的多个服务集合到一起,我们需要编写一个docker-compose.yml
文件,描述依赖哪些服务
参考文档:https://docs.docker.com/compose/
<pre class="markdown-code-pre" style="margin: 0px 0px 16px; padding: 0px; box-sizing: border-box; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, monospace; font-size: 12.75px; overflow-wrap: normal; background-color: rgb(246, 248, 250); border-radius: 3px; line-height: 1.45; overflow: auto; position: relative;">
`version: "3.7"
services:
app:
build: ./
ports:
- 80:8080
volumes: - ./:/app
environment: - TZ=Asia/Shanghai
redis:
image: redis:5.0.13
volumes: - redis:/data
environment: - TZ=Asia/Shanghai
volumes:
redis:`
</pre>
容器默认时间不是北京时间,增加 TZ=Asia/Shanghai 可以改为北京时间
跑起来
在docker-compose.yml
<mark style="margin: 0px; padding: 0px; box-sizing: border-box;">文件所在目录</mark>,执行:docker-compose up
就可以跑起来了。
命令参考:https://docs.docker.com/compose/reference/up/
在后台运行只需要加一个 -d 参数docker-compose up -d
查看运行状态:docker-compose ps
停止运行:docker-compose stop
重启:docker-compose restart
重启单个服务:docker-compose restart service-name
进入容器命令行:docker-compose exec service-name sh
查看容器运行log:docker-compose logs [service-name]
</article>
转载自
Docker 快速入门