我試圖向外界揭示碼頭集裝箱,而不僅僅是主機。當我從一個基礎的CentOS圖像創建的圖像,它看起來是這樣的:連接到暴露的碼頭集裝箱
# install openssh server and ssh client
RUN yum install -y openssh-server
RUN yum install -y openssh-clients
RUN echo 'root:password' | chpasswd
RUN sed -ri 's/UsePAM yes/#UsePAM yes/g' /etc/ssh/sshd_config
RUN sed -ri 's/#UsePAM no/UsePAM no/g' /etc/ssh/sshd_config
EXPOSE 22
CMD ["/usr/sbin/sshd", "-D"]
我運行這個形象,像這樣:
sudo docker run -d -P crystal/ssh
當我嘗試一下容器sudo docker ps
,我看到端口:
0.0.0.0:49154->22tcp
如果我ifconfig
主機(Ubuntu的),我看到docker0 INET地址:172.17.42.1。我可以從我的主機ping這個,但不能從任何其他機器。我在設置容器看外部世界時做錯了什麼?謝謝。
編輯:
我已經試過檢查容器的ip地址,我看到ip地址:172.17.0.28,但我不能平,要麼...
如果我嘗試NMAP,這似乎返回港口。那麼這是否意味着它是開放的,如果我有ssh設置,我應該能夠ssh進入它?謝謝。
nmap -p 49154 10.211.55.1顯示端口未知服務打開。
我試圖通過SSH -l -p根49154 10.211.55.1以SSH方式,我得到
Read from socket failed: Connection reset by peer.
您是否嘗試連接到端口49154上的主機的公共IP地址?我的意思是eth0接口的IP地址? – Jiri 2014-10-09 20:36:58
@Jiri我嘗試過'nmap -p 49154'並且返回:'49155/tcp,open,service unknown' –
Crystal
2014-10-09 21:01:10