chenqb 发表于 2015-4-18 06:14:51

docker 打开监听端口

  安装docker的镜像ubuntu,链接:http://www.iyunv.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 ':49200 (:49200)' can't be established.
  十二、成功!~
  
页: [1]
查看完整版本: docker 打开监听端口