docker里启动docker(启动docker-compose)

docker里启动docker(启动docker-compose)在实际工作中 部署一个应用可能需要部署多个容器 一个一个部署非常不方便 docker compose 可以一键部署和启动多个容器 它使用 yaml 文件来编排服务 github 和 docker hub 很多项目都提供了 docker compose yaml 文件 我们可以一键部署项目 非常方便 这里可以使用 vscode 去学习 docker compose 的格式 nbsp

大家好,我是讯享网,很高兴认识大家。



在实际工作中,部署一个应用可能需要部署多个容器,一个一个部署非常不方便。docker compose可以一键部署和启动多个容器,它使用yaml文件来编排服务。github和docker hub很多项目都提供了docker-compose.yaml文件,我们可以一键部署项目,非常方便。

这里可以使用vscode去学习docker compose的格式 

将以下内容保存到本地的docker-compose.yml文件中。

docker compose命令启动时,默认在当前目录下寻找compose.yaml或compose.yml,为了兼容之前的版本,也会查找docker-compose.yaml或docker-compose.yml。
也可以使用-f参数手动指定文件docker compose -f docker-compose-dev.yml up -d

docker compose up -d一键部署启动
docker compose start/stop启动/停止服务
docker compose down停止并删除容器,不会删除存储卷volume

docker-compose.yml通常需要包含以下几个顶级元素:


讯享网

services 中可以通过以下元素定义容器的运行参数

主要关注 端口映射、环境变量、挂载数据持久化、容器重启策略

  • 上下级关系
  • 不允许使用Tab键,只允许使用空格
  •  : 键值对,后面必须有空格
  •  -列表,后面必须有空格
  •  [ ]数组
  •  #注释
  •  {key:value,k1:v1}map
  •  | 多行文本块
  • — 表示一个文档的开始
  • 把公共的配置提取出来,用&来建立锚点,<<合并到当前数据,用*引用锚点

command 支持以下写法:

environment 支持如下两种写法:

容器启动顺序 depends_on

数据库初始化完成之前,不会建立connections。

depends_on 只能保证容器的启动和销毁顺序,不能保证依赖的容器是否ready

要确保应用服务在数据库初始化完成后再启动,需要配合和使用。

condition有三种状态:

  1. service_started容器已启动
  2. service_healthy容器处于健康状态
  3. service_completed_successfully容器执行完成且成功退出(退出状态码为0)

以下是几种常用的重启策略

  1. no:这是默认值。表示容器停止后不会自动重启。
  2. always:表示容器停止后总是自动重启。
  3. unless-stopped:表示容器停止后除非明确停止(使用 或手动停止),否则总是自动重启。
  4. on-failure:表示容器非正常退出(即退出状态非 0)时自动重启。可以通过 的 子选项来指定最大的重启次数,例如 表示容器在失败时最多尝试重启 5 次。
  5. unless-stopped:表示容器停止后除非明确停止(使用 或手动停止),否则总是自动重启。

小讯
上一篇 2025-06-08 09:47
下一篇 2025-05-14 13:40

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/145061.html