2017-03-02 4 views
0

ホストApp1上で実行されているコンテナからDNSを解決して、別のマシン/ホストApp2にpingできません。 /etc/resolv.confはhostのものと同じですが。私はAWS Route 53プライベートホストDNSを利用して、IPではなくDNSを解決することで相互通信を可能にしています。私はapp2.mydomainのような完全なドメインを与えるwihtout App2のに対してpingを実行することができますが、同じ思いドッキングウィンドウのホストからDockerコンテナがDNSを解決して別のAWS Ec2マシンに到達できない

Some basic info for this : 

[email protected]:~$ docker info 
Containers: 1 
Running: 1 
Paused: 0 
Stopped: 0 
Images: 10 
Server Version: 1.13.1 
Storage Driver: aufs 
Root Dir: /var/lib/docker/aufs 
Backing Filesystem: extfs 
Dirs: 31 
Dirperm1 Supported: false 
Logging Driver: json-file 
Cgroup Driver: cgroupfs 
Plugins: 
Volume: local 
Network: bridge host macvlan null overlay 
Swarm: inactive 
Runtimes: runc 
Default Runtime: runc 
Init Binary: docker-init 
containerd version: aa8187dbd3b7ad67d8e5e3a15115d3eef43a7ed1 
runc version: 9df8b306d01f59d3a8029be411de015b7304dd8f 
init version: 949e6fa 
Security Options: 
apparmor 
Kernel Version: 3.13.0-106-generic 
Operating System: Ubuntu 14.04.5 LTS 
OSType: linux 
Architecture: x86_64 
CPUs: 2 
Total Memory: 7.797 GiB 
Name: app1 
ID: 6GYC:GI6M:JNTM:MMSL:7LRD:BEUZ:RTRD:Q4AG:NEQU:XC5C:ALOK:N3LM 
Docker Root Dir: /var/lib/docker 
Debug Mode (client): false 
Debug Mode (server): false 
Registry: https://index.docker.io/v1/ 
WARNING: No swap limit support 
Experimental: false 
Insecure Registries: 
127.0.0.0/8 
Live Restore Enabled: false 

############################################ 
[email protected]:~$ docker version 
Client: 
Version:  1.13.1 
API version: 1.26 
Go version: go1.7.5 
Git commit: 092cba3 
Built:  Wed Feb 8 06:42:29 2017 
OS/Arch:  linux/amd64 

Server: 
Version:  1.13.1 
API version: 1.26 (minimum version 1.12) 
Go version: go1.7.5 
Git commit: 092cba3 
Built:  Wed Feb 8 06:42:29 2017 
OS/Arch:  linux/amd64 
Experimental: false 

########################################### 

    [email protected]:~$ docker exec -it conatiner1 sh 
    /data # ping app2 
    ping: bad address 'app2' 
    /data # ping app2.mydomain 
    PING app2.mydomain (10.xx.xx.xx): 56 data bytes 
    ############################################## 

     resolv.conf on conatiner 

     /data # cat /etc/resolv.conf 
    # Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8) 
    #  DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN 

    nameserver 10.xx.xx.xx 
    search mydomain 

resolv.conf on host 

[email protected]:~$ cat /etc/resolv.conf 
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8) 
#  DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN 

nameserver 10.XX.XX.xx [ same as of container ] 
search mydomain 

あなたがdocker runを呼び出すと、ホストのネットワークを使用するための--net=hostオプションを追加してくださいコンテナから

答えて

1

が動作していませんスタック。それはトリックを行います。

関連する問題