首页 > 代码库 > docker 打开监听端口

docker 打开监听端口

安装docker的镜像ubuntu,链接:http://www.cnblogs.com/liqiu/p/4162719.html

一、登录ubuntu

@~ $ docker run -i -t 9bd07e480c5b /bin/bashroot@d411227dd25b:/# 

二、安装登录ssh

root@d411227dd25b:/# apt-get install openssh-serverReading package lists... DoneBuilding dependency tree       

三、启动ssh

root@d411227dd25b:/# which sshd/usr/sbin/sshdroot@d411227dd25b:/# mkdir /var/run/sshd

四、设置密码

root@d411227dd25b:/# mkdir /var/run/sshdroot@d411227dd25b:/# passwdEnter new UNIX password: Retype new UNIX password: passwd: password updated successfullyroot@d411227dd25b:/# exitexit@~ $ 

五、查看刚才的设置container

@~ $ docker ps -lCONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                          PORTS               NAMESd411227dd25b        ubuntu:latest       "/bin/bash"         14 hours ago        Exited (0) About a minute ago                       focused_wilson      

可以看见刚才的id:d411227dd25b

六、保存

@~ $ docker commit d411227dd25b ubuntu/test-sshbd41426a9fecb70690797aab9668de9538aee7d7a14654a861741e7f350c75d9@~ $ docker imagesREPOSITORY                     TAG                 IMAGE ID            CREATED             VIRTUAL SIZEubuntu/test-ssh                latest              bd41426a9fec        13 hours ago        234.7 MB

七、设定端口启动

@~ $ docker run -d -p 22 -p 80:8080 ubuntu/test-ssh /usr/sbin/sshd -D42e5a035e5b7d6a7f026a75bdac5fece814bb4829463d10880f9e95e0e2f38ac

上面22端口为的是登录使用,80:8080,指的是内容以8080运行tomcat,对外暴露80端口。

八、查看运行情况

@~ $ docker ps42e5a035e5b7        ubuntu/test-ssh:latest     "/usr/sbin/sshd -D"    13 hours ago        Up 2 minutes        0.0.0.0:80->8080/tcp, 0.0.0.0:49195->22/tcp  

九、登录,注意这里随机分配的是49195

ssh -p 49195 root@127.0.0.1

TMD,怎么都登录不上去......

最后找出原因:

a、ubuntu 默认不支持root直接ssh

b、在mac操作系统内,需要映射到虚拟机,也就是boot2docker,它的ip一般是:192.168.59.103,这个可以查看

@~/VirtualBox VMs/boot2docker-vm $ boot2docker ipThe VMs Host only interface IP address is: 192.168.59.103

十、那么知道了问题出在哪里,就别再root上ssh设置密码了,换一个用户吧

useradd liqiu  # 添加一个liqiu的用户passwd liqiu   # 设置密码,还是123456

十一、登录

@~/VirtualBox VMs/boot2docker-vm $ docker ps -lCONTAINER ID        IMAGE               COMMAND               CREATED             STATUS              PORTS                   NAMES55ca19138753        ubuntu/ssh:latest   "/usr/sbin/sshd -D"   13 hours ago        Up 6 seconds        0.0.0.0:49200->22/tcp   drunk_darwin        @~/VirtualBox VMs/boot2docker-vm $ docker start 55ca1913875355ca19138753@~/VirtualBox VMs/boot2docker-vm $ ssh -p49200 liqiu@192.168.59.103 #此处密码:123456The authenticity of host [192.168.59.103]:49200 ([192.168.59.103]:49200) cant be established.

十二、成功!~

 

docker 打开监听端口