Docker for Mac Beta:无法正确链接容器

时间:2016-06-11 03:39:43

标签: macos docker containers docker-compose

我已尝试链接两个容器并执行另一个有效的命令,这些命令在该工具的docker工具箱版本中有效。

YML文件的副本:

version: '2'

  services:

    nginx:
     image: nginx:latest
     hostname: nginx
   links:
     - php
   ports:
     - "8000:80"
   privileged: true

 php:
   image: php:5-fpm
   hostname: php
   privileged: true

我希望能够登录到nginx容器并能够执行php即php -version。

docker exec -it test2_nginx_1 bash

root@nginx:/# ping php
PING php (172.19.0.2): 56 data bytes
64 bytes from 172.19.0.2: icmp_seq=0 ttl=64 time=0.103 ms
64 bytes from 172.19.0.2: icmp_seq=1 ttl=64 time=0.089 ms

Ping有效!

root@nginx:/# php -version
bash: php: command not found

这不起作用。

登录php容器:

docker exec -it test2_php_1 bash

root@php:/var/www/html# php -version
PHP 5.6.22 (cli) (built: Jun  8 2016 17:49:08)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies

为什么我无法在链接容器上执行它?

1 个答案:

答案 0 :(得分:1)

  

为什么我无法在链接容器上执行它?

因为“链接”(或since docker 1.10, a common network)是关于沟通,而不是程序。

您的nginx容器就像是从未安装过php的个人计算机。它可以ping php容器,但不能本地执行所述php计算机上仅安装 的内容。