docker 打开监听端口
安装docker的镜像ubuntu,链接:http://www.cnblogs.com/liqiu/p/4162719.html
一、登录ubuntu
@~ $ docker run -i -t 9bd07e480c5b /bin/bash root@d411227dd25b:/#
二、安装登录ssh
root@d411227dd25b:/# apt-get install openssh-server Reading package lists... Done Building dependency tree
三、启动ssh
root@d411227dd25b:/# which sshd /usr/sbin/sshd root@d411227dd25b:/# mkdir /var/run/sshd
四、设置密码
root@d411227dd25b:/# mkdir /var/run/sshd root@d411227dd25b:/# passwd Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully root@d411227dd25b:/# exit exit @~ $
五、查看刚才的设置container
@~ $ docker ps -l CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES d411227dd25b ubuntu:latest "/bin/bash" 14 hours ago Exited (0) About a minute ago focused_wilson
可以看见刚才的id:d411227dd25b
六、保存
@~ $ docker commit d411227dd25b ubuntu/test-ssh bd41426a9fecb70690797aab9668de9538aee7d7a14654a861741e7f350c75d9 @~ $ docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE ubuntu/test-ssh latest bd41426a9fec 13 hours ago 234.7 MB
七、设定端口启动
@~ $ docker run -d -p 22 -p 80:8080 ubuntu/test-ssh /usr/sbin/sshd -D 42e5a035e5b7d6a7f026a75bdac5fece814bb4829463d10880f9e95e0e2f38ac
上面22端口为的是登录使用,80:8080,指的是内容以8080运行tomcat,对外暴露80端口。
八、查看运行情况
@~ $ docker ps 42e5a035e5b7 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 ip The VM's Host only interface IP address is: 192.168.59.103
十、那么知道了问题出在哪里,就别再root上ssh设置密码了,换一个用户吧
useradd liqiu # 添加一个liqiu的用户
passwd liqiu # 设置密码,还是123456
十一、登录
@~/VirtualBox VMs/boot2docker-vm $ docker ps -l CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 55ca19138753 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 55ca19138753 55ca19138753 @~/VirtualBox VMs/boot2docker-vm $ ssh -p49200 liqiu@192.168.59.103 #此处密码:123456 The authenticity of host '[192.168.59.103]:49200 ([192.168.59.103]:49200)' can't be established.
十二、成功!~