gpt4 book ai didi

docker - 在使用docker compose之前是否需要先构建容器?

转载 作者:行者123 更新时间:2023-12-02 21:02:11 25 4
gpt4 key购买 nike

Docker compose 解决方案是一次创建所有依赖容器,我阅读了一些文章,解释了如何一次同时启动多个容器:

version: '3'

services:
postgresql:
image: postgres:9.6.6
ports:
- 9932:5432
expose:
- "5432"
environment:
- POSTGRES_PASSWORD=pass
restart: always
volumes:
- /data:/var/lib/postgresql/data

myapp:
image: myapp
links:
- postgresql
depends_on:
- "postgresql"
restart: always
ports:
- "5000:5000

1) 我需要手动构建/运行 myapppostgresqldocker builddocker run命令? (在 postgresql 的情况下,可以 docker run - 它从 docker hub 中提取)并且只有在使用 docker-compose up 之后才能使用

2)如果我添加:
app:
build: ./app

它会避开我 1) 吗? (可以使用 docker-compose up 没有 docker builddocker run 准备步骤)

最佳答案

当您运行 docker-compose up和:

  • 如果您提供标签 image并且没有标签 build喜欢你的postgresql在这种情况下,系统将首先在您的本地计算机中查找图像名称(在这种情况下为 postgres:9.6.6)。如果找不到,它会尝试从 Internet 拉取(默认在 Dockerhub)
  • 如果您提供标签 build ,它将尝试 build您的应用图像首先基于提供的 contextDockerfile定位并在此基础上启动一个容器。
  • 如果您同时提供 buildimage标签,它将构建图像并将其保存为您定义的图像名称。

  • 所以回答你的问题:
  • 您可以使用 docker-compose up没有第一次运行docker rundocker pull .但是,对于私有(private)注册表,您首先需要登录,以便 Docker 有权从中提取。
  • 是的,如上所述。
  • 关于docker - 在使用docker compose之前是否需要先构建容器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60066606/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com