Docker for Mac Beta:无法正确 link 容器
Docker for Mac Beta: Unable to link containers properly
我已经尝试链接两个容器并从另一个容器执行有效的命令,该命令在该工具的 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
为什么我无法在链接的容器上执行它?
Why am I not able to execute it on the linked container?
因为"linking"(或者,since docker 1.10, a common network),是关于交流,而不是程序。
您的 nginx
容器就像一台从未安装过 php 的单独机器。它可以 ping php
容器,但不能 在本地 执行安装的内容 仅 在所述 php
机器上。
我已经尝试链接两个容器并从另一个容器执行有效的命令,该命令在该工具的 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
为什么我无法在链接的容器上执行它?
Why am I not able to execute it on the linked container?
因为"linking"(或者,since docker 1.10, a common network),是关于交流,而不是程序。
您的 nginx
容器就像一台从未安装过 php 的单独机器。它可以 ping php
容器,但不能 在本地 执行安装的内容 仅 在所述 php
机器上。