Docker撰写:将多个主机绑定到动态容器的IP

我在docker-compose.yml中声明我的服务,如下所示:

wildfly:
  image: "myrepo/wildfly:latest"
  hostname: wildfly

因此,compose将条目添加到/ etc / hosts:

172.18.0.4      wildfly

Docker自动生成172.18.0.4.

但是我需要将some.host.name绑定到/ etc / hosts中的此生成的IP,以在/ etc / hosts中具有多个条目:

172.18.0.4      wildfly
172.18.0.4      some.host.name

我怎样才能做到这一点?

我尝试使用extra_hosts语法,但是在docker-compose.yml中,我不知道将哪个IP分配给容器.

有人遇到过类似的问题吗?

最佳答案
您应该使用支持别名的组合的版本“ 3”格式.由于您已经在使用受支持的Docker版本

version: '3'
services:
  wildfly:
    image: "myrepo/wildfly:latest"
    hostname: wildfly
    networks:
      default:
        aliases:
          - some.host.name

由于docker现在使用其自己的内部DNS服务器,因此不会添加主机条目.如果您需要使用多个撰写文件才能访问服务.然后,您应该创建一个外部网络

docker network create commonnet

然后在您的撰写中使用以下内容

version: '3'
services:
  wildfly:
    image: "myrepo/wildfly:latest"
    hostname: wildfly
    networks:
      commonnet:
        aliases:
          - some.host.name
networks:
  commonnet:
    external: true

相关文章

最近一直在开发Apworks框架的案例代码,同时也在一起修复Apw...
最近每天都在空闲时间努力编写Apworks框架的案例代码WeText。...
在《Kubernetes中分布式存储Rook-Ceph部署快速演练》文章中,...
最近在项目中有涉及到Kubernetes的分布式存储部分的内容,也...
CentOS下Docker与.netcore(一) 之 安装 CentOS下Docker与.ne...
CentOS下Docker与.netcore(一) 之 安装 CentOS下Docker与.ne...