在docker-compose.yml文件中设置host -h条目以更新docker容器的/ etc / hosts

时间:2018-01-16 17:10:51

标签: docker makefile localhost docker-compose dockerfile

我正在尝试调出一些泊坞容器。 我想要的是我的/ etc / hosts文件在其中一个容器中如下所示:

#IDEAL VERSION
127.0.0.1   localhost
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
172.17.0.2  hbase-docker

但是当我做码头工作时。我的容器有以下内容:

#CURRENTLY WHAT I HAVE
127.0.0.1   localhost
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
172.18.0.2  05528a9c5ca3

注意最后一行。 “05528a9c5ca3”是容器的ID。我希望它是'hbase-docker'。如果我要按如下方式启动容器:

docker run -p 2181:2181 --name=hbase-docker -h hbase-docker -d -v $data_dir:/data hbase-docker

然后这个工作......它采用-h标志并设置主机。 我的问题是..我如何在docker-compose.yml中执行此操作。

我希望它在配置时执行,而不是在可能的情况下运行的脚本。有什么想法吗?

仅供参考,我的docker-compose.yml条目是:

version: '2'

services:
 hbase-docker:
  container_name: hbase-docker
  ports:
  - "2181:2181"
  build:
   dockerfile: "Dockerfile-5.6"
   context: "./hbase-docker/"

1 个答案:

答案 0 :(得分:0)

只需添加额外的值hostname

version: '2'

services:
 hbase-docker:
  hostname: hbase-docker
  container_name: hbase-docker
  ports:
  - "2181:2181"
  build:
   dockerfile: "Dockerfile-5.6"
   context: "./hbase-docker/"

here有待extra_hosts

进一步阅读