gpt4 book ai didi

docker 在 dockerfile 和 docker-compose.yml 中使用通用配置

转载 作者:行者123 更新时间:2023-12-02 19:05:45 28 4
gpt4 key购买 nike

我正在使用许多 docker 容器。我想为其中一个分配一个静态 ip 并在 dockerfile 中使用该静态 ip另一个。
我想使用某种配置文件,例如 .env文件并在 dockerfile 中使用它和 docker-compose.yml .

最佳答案

你可能不想做这两件事。

如果您在同一个 Docker Compose 设置中运行两个容器,那么 Compose 将为您创建一个私有(private) Docker 网络,一个容器可以使用其容器名称(或 docker-compose.yml 中的 block 名称)作为主机名。这应该消除对静态 IP 地址的需要。

其次,像这样对主机名或 IP 地址进行硬编码会使重用设置变得更加困难。作为一个非常基本的示例,在 Docker 之外的开发中,您可能在同一主机上运行客户端和服务器并使用 localhost作为主机名,但在 Docker Compose 设置中,它们将位于不同的容器中并使用不同的主机名。这也意味着你永远不能docker push您的图像到注册表,这是一些常见部署方案所必需的。环境变量是从外部传递它的常用方法。

一个 docker-compose.yml完成这可能看起来像:

version: '3'
services:
server:
build:
context: ./server
client:
build:
context: ./client
env:
SERVER_URL: 'http://server/'

关于docker 在 dockerfile 和 docker-compose.yml 中使用通用配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52863131/

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