无法在docker-in-docker

时间:2017-05-21 14:41:45

标签: docker docker-compose docker-swarm

我一直在玩docker-in-docker (dind)设置,但遇到了一个奇怪的问题。

如果我在dind内部单独运行一个docker容器并暴露一个端口,那么我可以毫无问题地连接到该端口。例如,使用内部的docker swarm visualizer

/home/dockremap # docker run -d -p 8080:8080 dockersamples/visualizer:stable
/home/dockremap # wget localhost:8080
Connecting to localhost:8080 (127.0.0.1:8080)
index.html           100% |*********************** ....

但是,如果我通过从compose文件部署在swarm中运行相同的东西,它就不起作用。

以下是我的撰写文件:

version: "3"

services:

    visualizer:
        image: dockersamples/visualizer:stable
        ports:
            - "8080:8080"
        volumes:
            - "/var/run/docker.sock:/var/run/docker.sock"
        deploy:
            placement:
                constraints: [node.role == manager]
        networks:
            - webnet                    

networks:
    webnet:

和我运行的命令:

/home/dockremap # docker swarm init 
/home/dockremap # docker stack deploy -c compose.yaml test

现在当我做wget时我得到连接拒绝错误:

/home/dockremap # wget localhost:8080
Connecting to localhost:8080 (127.0.0.1:8080)
wget: can't connect to remote host (127.0.0.1): Connection refused

在dind中做这种事情是否能够默认工作,或者我需要配置什么?我在Windows上使用docker 17.03.1-ce ,这是我在dind中运行 docker info 时得到的结果:

Containers: 2
 Running: 1
 Paused: 0
 Stopped: 1
Images: 1
Server Version: 17.05.0-ce
Storage Driver: vfs
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: bridge host macvlan null overlay
Swarm: active
 NodeID: wz2r6iuyqztg3ivyk9fwsn976
 Is Manager: true
 ClusterID: mshadtrs0b1oayva2vrquf67d
 Managers: 1
 Nodes: 1
 Orchestration:
  Task History Retention Limit: 5
 Raft:
  Snapshot Interval: 10000
  Number of Old Snapshots to Retain: 0
  Heartbeat Tick: 1
  Election Tick: 3
 Dispatcher:
  Heartbeat Period: 5 seconds
 CA Configuration:
  Expiry Duration: 3 months
 Node Address: 172.17.0.2
 Manager Addresses:
  172.17.0.2:2377
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 9048e5e50717ea4497b757314bad98ea3763c145
runc version: 9c2d8d184e5da67c95d601382adf14862e4f2228
init version: 949e6fa
Security Options:
 seccomp
  Profile: default
Kernel Version: 4.4.59-boot2docker
Operating System: Alpine Linux v3.5 (containerized)
OSType: linux
Architecture: x86_64
CPUs: 1
Total Memory: 987.1MiB
Name: 7e480e7313ae
ID: EL7P:NI2I:TOR4:I7IW:DPAB:WKYU:6A6J:NCC7:3K3E:6YVH:PYVB:2L2W
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
Experimental: false
Insecure Registries:
 127.0.0.0/8
Live Restore Enabled: false

WARNING: bridge-nf-call-iptables is disabled
WARNING: bridge-nf-call-ip6tables is disabled

0 个答案:

没有答案