无法 ping 链接 docker 容器服务

cannot ping linked docker container service

像这样简单的设置:

db:
  image: mysql
web:
  build: .
  command: bundle exec rails s -p 3000 -b '0.0.0.0'
  volumes:
    - .:/myapp
  ports:
    - "3000:3000"
  links:
    - db:db
  environment:
    RAILS_ENV: development

如果我运行:

docker-compose build && docker-compose run web ping db

我得到:

Starting myapp_db_1
ping: unknown host

为什么? 如果我 运行:

docker-compose run cat /etc/hosts

我看到了这个:

Starting myapp_db_1
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  4af9653f843a

(值 4af9653f843a 在每个 运行 上变化)

我在 mac os x 上使用 docker-compose 1.6.2 和 docker 版本 1.10.3(所以 virtualbox 作为嗯)

为什么会这样?如何通过 hostname?

访问 Web 容器中的数据库容器

好的,我刚刚意识到我需要 运行

docker-compose up

至少一次我才能 ping 通它