一, 背景
继上篇文章之后, 学习使用 Docker Compose(实际项目中需要做对应的变化)
二, docker-compose 安装
官网使用最新版进行安装
https://github.com/docker/compose/releases/
例如:
1. 安装当前稳定版本
curl -L https://github.com/docker/compose/releases/download/1.24.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
2. 对二进制文件应用可执行权限
chmod +x /usr/local/bin/docker-compose
3. 查看版本 (也可以校验是否安装成功)
docker-compose --version
三, docker-compose 命令简介
如命令:
- docker-compose up -d
- up
启动所有在 Compose 问中定义的容器, 并且把它们的日志信息汇集在一起. 通常会添加 - d 参数 (在 up 后面), 让容器在后台执行
start
启动指定的已经存在的容器
build
重新建造由 Dockerfile 构建的镜像.
ps
获取由 Compose 管理的容器的状态信息
run
启动一个容器, 并允许一个一次性的命令. 被连接的容器会同时启动, 除非用了 --no-deps 参数.
logs
汇集由 Compose 管理的容器的日志, 并以彩色输出.
stop
停止容器, 但不会删除它们
rm
删除已停止的容器. 不要忘记使用 - v 参数来删除任何由 Docker 管理的数据卷
说明:
一个普通的工作流程以 docker-compose up -d 名利启动应用程序开始. docker-compose logs 和 ps 命令可以用来验证应用程序的状态, 还能帮助调试.
修改代码后, 先执行 docker-compose build 构建新的镜像, 然后执行 docker-compose up -d 取代运行中的容器. 注意, Compose 会保留原来容器中所有旧的数据卷, 这意味着即使容器更新后, 数据库和缓存也依旧在容器内 (这很可能造成混淆, 因此要特别小心).
如果你修改了 Compose 的 YAML 文件, 但不需要构建新的镜像, 可以通过 up -d 参数使 Compose 以新的配置替换容器. 如果想要强制停止 Compose 并重新创建所有容器, 可以使用 --force-recreate 选项来达到目的.
四, docker-compose.YAML 文件模板
- # 具体的版本号, 请参考官网 https://docs.docker.com/compose/compose-file/
- version: '3.7'
- services:
- #声明构建容器的名称, docker-compose start 和 stop 命令可以使用
- testhttpweb:
- #使用指定目录下的 Dockerfile 进行构建
- build: .
- #相当于 docker run 命令的 - p 参数, 用于声明对外开放的端口
- ports:
- - "5000:5000"
- - "8010:80"
五, 简单使用
1. 在 / root/Root/DefaultHttp 的路径下创建 YAML 文件 (请参考上一步的模板)
2. 执行命令运行容器
docker-compose up -d
从上图可以看出, 即使没有创建 image 也会成功 (会自动进行创建)
3. 查看镜像
docker images
defaulthttp_testhttpweb 为自动创建的镜像
4. 停止和删除容器
docker-compose stop testhttpweb
docker-compose rm testhttpweb
六, 总结
实现了 docker-compose 的安装, 命令介绍, 简单使用
参考资料:
《Docker 开发指南》
https://www.jianshu.com/p/658911a8cff3
来源: https://www.cnblogs.com/zhizihuakai/p/11296743.html