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.

十二、成功!~

 

posted @ 2014-12-17 22:13  李秋  阅读(4847)  评论(0编辑  收藏  举报