2016-06-11 9 views
0

Ich habe versucht, zwei Container zu verbinden und Befehle auf dem anderen auszuführen, die in der Docker-Toolbox-Version des Tools funktionieren.Docker für Mac Beta: Container kann nicht richtig verbunden werden

Kopie der YML Datei:

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 

Ich erwarte, dass die Lage sein, auf den nginx Behälter zu protokollieren und in der Lage php heißt PHP -Version auszuführen.

docker exec -it test2_nginx_1 bash 

[email protected]:/# 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 funktioniert!

[email protected]:/# php -version 
bash: php: command not found 

Dies funktioniert nicht.

Anmelden an den PHP-Container:

docker exec -it test2_php_1 bash 

[email protected]:/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 

Warum bin ich nicht in der Lage auf dem verknüpften Container auszuführen?

Antwort

1

Warum kann ich es nicht auf dem verknüpften Container ausführen?

Weil "Verknüpfung" (oder, since docker 1.10, a common network), über die Kommunikation, nicht Programme.

Ihr nginx Container ist wie eine einzelne Maschine, auf der PHP nie installiert wurde. Es kann ping php Container, aber nicht lokal ausführen, was installiert ist nur auf der genannten php Maschine.

Verwandte Themen