2015-12-10 19 views
5

मैक ओएसएक्स पर डॉकर के लिए नया पिंग करने में असमर्थ। मैं गिट सर्वर के रूप में उपयोग करने के लिए बेस फ़्यूज़न छवि से एक उबंटू छवि बना रहा हूं। आधार और आवश्यक सॉफ़्टवेयर स्थापित करने के लिए निम्न फ़ाइल का उपयोग करना। यह बहुत अच्छा काम करता है। हालांकि, मैं मशीन पिंग करने में असमर्थ हूं।डॉकर कंटेनर

संपादित


मैं मशीन पिंग करने में असमर्थ हूँ। मैं छवि चला सकता हूं और पीएस कमांड में कंटेनर देख सकता हूं। मैं इसमें भी बाश निष्पादित कर सकता हूं।

CONTAINER ID  IMAGE    COMMAND    CREATED    STATUS    PORTS    NAMES 
54e4cef78445  git-ssh_img   "/usr/sbin/sshd -D" 44 minutes ago  Up 44 minutes  22/tcp    git-ssh 

निम्नलिखित भी काम करता है

docker exec -it 54e4cef78445 ping www.google.com 
PING www.google.com (173.194.219.147) 56(84) bytes of data. 
64 bytes from ya-in-f147.1e100.net (173.194.219.147): icmp_seq=1 ttl=61 time=65.1 ms 
64 bytes from ya-in-f147.1e100.net (173.194.219.147): icmp_seq=2 ttl=61 time=67.1 ms 

Dockerfile:

# Use phusion/baseimage as base image. To make your builds reproducible, make 
# sure you lock down to a specific version, not to `latest`! 
# See https://github.com/phusion/baseimage-docker/blob/master/Changelog.md for 
# a list of version numbers. 
FROM phusion/baseimage:0.9.18 

# Use baseimage-docker's init system. 
CMD ["/sbin/my_init"] 

# ...put your own build instructions here... 

ENV TERM xterm 

RUN apt-get -y update 
RUN apt-get -y install openssh-server 
RUN apt-get -y install git \ 
    libxml2-dev \ 
    python \ 
    build-essential \ 
    make \ 
    gcc \ 
    python-dev \ 
    python-pip 

# Clean up APT when done. 
RUN apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* 

# Setting openssh 
# RUN mkdir /var/run/sshd 
RUN sed -i "s/#PasswordAuthentication yes/PasswordAuthentication no/" /etc/ssh/sshd_config 

# Adding git user 
RUN adduser --system git 
RUN mkdir -p /home/git/.ssh 

# Clearing and setting authorized ssh keys 
RUN echo '' > /home/git/.ssh/authorized_keys 
RUN echo 'First key' >> /home/git/.ssh/authorized_keys 
# RUN echo 'Second SSH public key' >> /home/git/.ssh/authorized_keys 
# ... 

# Updating shell to bash 
RUN sed -i s#/home/git:/bin/false#/home/git:/bin/bash# /etc/passwd 

EXPOSE 22 
CMD ["/usr/sbin/sshd", "-D"] 

निरीक्षण आदेश:

[ 
{ 
    "Id": "54e4cef78445e1308b744297edc1d3d153932ce7724e87b35dc3690f8ffe41a2", 
    "Created": "2015-12-10T21:01:16.683875853Z", 
    "Path": "/usr/sbin/sshd", 
    "Args": [ 
     "-D" 
    ], 
    "State": { 
     "Running": true, 
     "Paused": false, 
     "Restarting": false, 
     "OOMKilled": false, 
     "Dead": false, 
     "Pid": 13930, 
     "ExitCode": 0, 
     "Error": "", 
     "StartedAt": "2015-12-10T21:01:16.763739339Z", 
     "FinishedAt": "0001-01-01T00:00:00Z" 
    }, 
    "Image": "b2c6f9604ceca1e112dc0560aa4d0c50596d27c80256c544613f1d6badf6ccda", 
    "NetworkSettings": { 
     "Bridge": "", 
     "EndpointID": "87f12f9b527f3e0d7f823f1e2c88b0d0e860ff2d1687568d0a15cfa9fdfe22c3", 
     "Gateway": "172.17.42.1", 
     "GlobalIPv6Address": "", 
     "GlobalIPv6PrefixLen": 0, 
     "HairpinMode": false, 
     "IPAddress": "172.17.0.26", 
     "IPPrefixLen": 16, 
     "IPv6Gateway": "", 
     "LinkLocalIPv6Address": "", 
     "LinkLocalIPv6PrefixLen": 0, 
     "MacAddress": "02:42:ac:11:00:1a", 
     "NetworkID": "a60ea78a8239baed013f9bfb1b2719a599ddef7745170e3c17eeab743a391ebe", 
     "PortMapping": null, 
     "Ports": { 
      "22/tcp": null 
     }, 
     "SandboxKey": "/var/run/docker/netns/54e4cef78445", 
     "SecondaryIPAddresses": null, 
     "SecondaryIPv6Addresses": null 
    }, 
    "ResolvConfPath": "/mnt/sda1/var/lib/docker/containers/54e4cef78445e1308b744297edc1d3d153932ce7724e87b35dc3690f8ffe41a2/resolv.conf", 
    "HostnamePath": "/mnt/sda1/var/lib/docker/containers/54e4cef78445e1308b744297edc1d3d153932ce7724e87b35dc3690f8ffe41a2/hostname", 
    "HostsPath": "/mnt/sda1/var/lib/docker/containers/54e4cef78445e1308b744297edc1d3d153932ce7724e87b35dc3690f8ffe41a2/hosts", 
    "LogPath": "/mnt/sda1/var/lib/docker/containers/54e4cef78445e1308b744297edc1d3d153932ce7724e87b35dc3690f8ffe41a2/54e4cef78445e1308b744297edc1d3d153932ce7724e87b35dc3690f8ffe41a2-json.log", 
    "Name": "/git-ssh", 
    "RestartCount": 0, 
    "Driver": "aufs", 
    "ExecDriver": "native-0.2", 
    "MountLabel": "", 
    "ProcessLabel": "", 
    "AppArmorProfile": "", 
    "ExecIDs": null, 
    "HostConfig": { 
     "Binds": null, 
     "ContainerIDFile": "", 
     "LxcConf": [], 
     "Memory": 0, 
     "MemorySwap": 0, 
     "CpuShares": 0, 
     "CpuPeriod": 0, 
     "CpusetCpus": "", 
     "CpusetMems": "", 
     "CpuQuota": 0, 
     "BlkioWeight": 0, 
     "OomKillDisable": false, 
     "MemorySwappiness": -1, 
     "Privileged": false, 
     "PortBindings": {}, 
     "Links": null, 
     "PublishAllPorts": false, 
     "Dns": null, 
     "DnsSearch": null, 
     "ExtraHosts": null, 
     "VolumesFrom": null, 
     "Devices": [], 
     "NetworkMode": "default", 
     "IpcMode": "", 
     "PidMode": "", 
     "UTSMode": "", 
     "CapAdd": null, 
     "CapDrop": null, 
     "GroupAdd": null, 
     "RestartPolicy": { 
      "Name": "no", 
      "MaximumRetryCount": 0 
     }, 
     "SecurityOpt": null, 
     "ReadonlyRootfs": false, 
     "Ulimits": null, 
     "LogConfig": { 
      "Type": "json-file", 
      "Config": {} 
     }, 
     "CgroupParent": "", 
     "ConsoleSize": [ 
      0, 
      0 
     ] 
    }, 
    "GraphDriver": { 
     "Name": "aufs", 
     "Data": null 
    }, 
    "Mounts": [], 
    "Config": { 
     "Hostname": "54e4cef78445", 
     "Domainname": "", 
     "User": "", 
     "AttachStdin": false, 
     "AttachStdout": true, 
     "AttachStderr": true, 
     "ExposedPorts": { 
      "22/tcp": {} 
     }, 
     "Tty": false, 
     "OpenStdin": false, 
     "StdinOnce": false, 
     "Env": [ 
      "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", 
      "TERM=xterm" 
     ], 
     "Cmd": [ 
      "/usr/sbin/sshd", 
      "-D" 
     ], 
     "Image": "git-ssh_img", 
     "Volumes": null, 
     "WorkingDir": "", 
     "Entrypoint": null, 
     "OnBuild": null, 
     "Labels": {} 
    } 
} 
] 
+0

मैं इस सवाल पर अस्पष्ट हूं। आप पिंग करने की कोशिश कर रहे हैं, कंटेनर या मेजबान कंटेनर चल रहा है? पूर्व में एक ही होस्ट पर कंटेनर चलाना संभव है। –

+0

@ एंडीशिन मेजबान से कंटेनर में एसएसएच करने की कोशिश कर रहा है। तो विचार है कि कंटेनर को गिट रिमोट मूल के रूप में जोड़ना और गिट सर्वर के रूप में उपयोग करना है। मैं इसे ब्लूमिक्स/अमेज़ॅन क्लाउड पर डॉकर छवि के रूप में रखने जा रहा था। वर्तमान में, जब मैं मेजबान से "रिमोट एड गिट" करता हूं, तो यह समय समाप्त हो जाता है। हो सकता है कि यहां डॉकर के बारे में बिल्कुल सही न सोचें :( –

+0

यह काफी उचित है। लेकिन आपके प्रश्न से कुछ महत्वपूर्ण चीजें गायब हैं। गॉक एसएसएच डिमन कंटेनर शुरू करने के लिए डॉकर कमांड क्या था? डॉकर होस्ट आईपी पता क्या है? क्या कमांड को गिट रिमोट जोड़ने के लिए इस्तेमाल किया गया था? –

उत्तर

3

जैसा कि "Can't visit http://172.17.0.2:5000 after starting docker registry" में उल्लिखित है, आप container-to-container communication के लिए बनाए गए आंतरिक आईपी का उपयोग नहीं कर सकते हैं।

आपको अपने कंटेनर को चलाने वाली मशीन को वास्तव में पिंग करने के लिए $(docker-machine ip <yourMachine>) द्वारा आईपी का उपयोग करने की आवश्यकता है।


अद्यतन फरवरी 2017, डोकर 1.13+: commentedkboom द्वारा के रूप में, अब आप Docker for Mac जो एक हल्के हाइपरविजर (HyperKit) है, जो localhost (लेकिन अभी भी आप आंतरिक पतों पर नहीं जा सकते) करने के लिए बाध्य करने की अनुमति देता का उपयोग करता है।

+0

बस ध्यान दें - "मैक के लिए डॉकर" या "विंडोज़ के लिए डॉकर" के बाद से कुछ बदल गया है। अब यह स्थानीयहोस्ट से जुड़ा हुआ है (लेकिन फिर भी आप आंतरिक पते पर नहीं जा सकते) – kboom

+0

@kboom धन्यवाद। मैंने अधिक दृश्यता के उत्तर में आपकी टिप्पणी शामिल की है। – VonC

संबंधित मुद्दे