我正在使用许多Docker容器。我想为其中一个分配一个静态IP,并在另一个中使用该静态IP dockerfile
。
我想使用某种类型的配置文件类似.env
的文件,并在两者的使用dockerfile
和docker-compose.yml
。
您可能不想做任何一件事情。
如果您在相同的Docker Compose设置中运行两个容器,则Compose将为您创建一个私有Docker网络,一个容器可以使用其容器名称(或中的块名称docker-compose.yml
)作为主机名来访问另一个容器。那应该消除对静态IP地址的需要。
其次,像这样对主机名或IP地址进行硬编码会使重用设置变得更加困难。作为一个非常基本的示例,在Docker之外的开发中,您可以在同一主机上运行客户端和服务器,并localhost
用作主机名,但是在Docker Compose设置中,它们将位于不同的容器中并使用不同的主机名。这也意味着您永远无法docker push
将映像保存到注册表,这是某些常见部署方案所必需的。环境变量是从外部传递此变量的常用方法。
docker-compose.yml
完成此操作的A可能类似于:
version: '3'
services:
server:
build:
context: ./server
client:
build:
context: ./client
env:
SERVER_URL: 'http://server/'
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句