首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法使用docker运行访问链接容器( /etc/hosts中的映射不存在)

无法使用docker运行访问链接容器( /etc/hosts中的映射不存在)
EN

Stack Overflow用户
提问于 2015-06-19 16:22:38
回答 1查看 270关注 0票数 0

我有一个名为"drupaldistribution_mysql_1“(id为307b58c78108)的mysql容器正在运行。

现在,我想使用名为"drush“的命令工具启动另一个容器,该工具可以访问mysql容器。我使用以下命令:

代码语言:javascript
复制
$ docker run --link 307b58c78108:db --volumes-from drupaldistribution_data_1 -w /data/www/drupal drush/drush sqlc && cat /etc/hosts

但是drush容器中的/etc/hosts文件不包含有关链接容器的信息:

代码语言:javascript
复制
127.0.0.1   localhost
127.0.1.1 docker-host docker-host

# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

Docker inspect on the drush container返回:

代码语言:javascript
复制
$ docker inspect -f "{{ .HostConfig.Links }}" 7d5f4cea983e

[/drupaldistribution_mysql_1:/tender_banach/db]

我运行docker版本: Docker version1.6.2,build 7c8fca2 (在vagrant debian机器内部)。

为什么在hosts文件中没有关于链接的mysql容器的引用?

EN

回答 1

Stack Overflow用户

发布于 2015-06-20 02:37:08

我猜这个问题是由于--volumes-from造成的。尽量不要在你的数据库和其他容器之间共享数据。当我尝试时,我有127.0.1.1 docker-host docker-host行,但它是本地/etc/hosts的一部分吗?

此外,您可以将名称与--link一起使用,而不是使用id。

最后,如果仍然失败,您可以随时从环境中拉出ip。确保您的mysql镜像公开了一个端口,一旦您链接了它,您的环境中就会有DB_PORT_XXXX_TCP_ADDR

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30933392

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档