https://www.cnblogs.com/zhizihuakai/p/11296743.html
https://www.jianshu.com/p/318c45162641
docker-compose 命令简介
version
: 指定 compose 文件的版本( Compose文件格式有3个版本,分别为1, 2.x 和 3.x目前主流的为 3.x 其支持 docker 1.13.0 及其以上的版本)services
: 定义所有的service信息,services下面的第一级别的 key 既是一个 service 的名称(如上面的web
,db
).build
: 指定包含构建上下文的路径,或作为一个对象,该对象具有 context 和指定的 dockerfile 文件以及 args 参数值container_name
: 容器名称ports
: 容器端口映射volumes
: 挂载数据卷depends_on
: 上面的值是db
,表示该容器依赖于db容器,在启动的时候,会先启动db容器,然后再启动web容器,这只是启动时机的先后问题,并不是说web容器会等db容器完全启动了才会启动image
: 对于db容器,则使用image来构建,没有使用Dockerfilerestart
: 重启策略environment
:启动容器时的环境变量,这里配置了数据库root用户的密码以及在启动时创建一个名为jpress的库,environment的配置可以使用字典和数组两种形式
说明:
一个普通的工作流程以docker-compose up -d名利启动应用程序开始。docker-compose logs和ps命令可以用来验证应用程序的状态,还能帮助调试。
修改代码后,先执行docker-compose build 构建新的镜像,然后执行docker-compose up -d 取代运行中的容器。注意,Compose会保留原来容器中所有旧的数据卷,这意味着即使容器更新后,数据库和缓存也依旧在容器内(这很可能造成混淆,因此要特别小心)。
如果你修改了Compose的YAML文件,但不需要构建新的镜像,可以通过up -d参数使Compose以新的配置替换容器。如果想要强制停止Compose并重新创建所有容器,可以使用--force-recreate选项来达到目的。
简单使用:
1. 执行命令运行容器:docker-compose up -d
2.查看镜像:docker images 3.停止和删除容器: docker-compose stop testhttpweb 和 docker-compose rm testhttpweb