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文件示例, 其中的解释已在文件中
1 | version: '3' |
常见项目的主要的解释如上, 更多内容就自行探索咯
一些注意事项
1.开放端口时, 本地端口注意不要冲突
2.关于网络组, 同一个网络组里面的容器才可以直接互相通信, 否则必须要走网桥
3.挂载文件卷时, 要记得先创建本地目录文件.
挂载的逻辑为: 创建容器时, 自动从主机复制文件/目录到容器里. 在这之前容器目录的所有内容会被清空.
也就是说, 容器目录里有而主机没有的内容会消失, 容器和主机都有的内容, 会被主机的内容覆盖.
之后容器运行的时候产生的修改会同步到主机里, 实现持久化保存.
参考文章
本博客采用 CC BY-NC-SA 4.0 许可。转载请声明来自 Juice's Blog!