docker-compose 编写规则及常见注意事项
大致原理介绍
Docker Compose 的优点:
- 声明式 yaml 语法,更加可读和可维护.
- 快速启动和停止
- 容器间的依赖管理,Docker Compose 允许定义多个容器之间的依赖关系和顺序,简化了复杂应用的部署.
执行逻辑
- 定义应用配置: 首先需要创建一个 YAML 文件(通常命名为 docker-compose.yml), 用于定义应用的组件、服务、网络和卷等.
- 构建镜像: 默认会先读取本地镜像,没有则向云端拉取.
- 启动容器: 使用
docker-compose up -d
命令来启动应用的容器。这个命令会自动读取当前目录的docker-compose.yml
文件。此时会按规则执行 yml 文件所定义的内容. - 扩展和更新: 如果需要更新,可以编辑 docker-compose.yml 文件,然后并使用
docker-compose down
停止容器,然后再重新执行启动命令启动容器.
如何编写
首先给出一个简单的 nginx 的 docker-compose.yml 文件示例,其中的解释已在文件中
yml
1 | version: '3' |
常见项目的主要的解释如上,更多内容就自行探索咯
一些注意事项
1. 开放端口时,本地端口注意不要冲突
2. 关于网络组,同一个网络组里面的容器才可以直接互相通信,否则必须要走网桥
3. 挂载文件卷时,要记得先创建本地目录文件.
挂载的逻辑为:创建容器时,自动从主机复制文件 / 目录到容器里。在这之前容器目录的所有内容会被清空.
也就是说,容器目录里有而主机没有的内容会消失,容器和主机都有的内容,会被主机的内容覆盖.
之后容器运行的时候产生的修改会同步到主机里,实现持久化保存.
参考文章
本博客采用 CC BY-NC-SA 4.0 许可。转载请声明来自 Juice's Blog!