下面的指令则发动一个 bash 终端,答应用户进行交互。
$ docker run -t -i docker.io/tcbenkhard/centos6-jdk7 /bin/bash[root@ffe81683c404 /]#
Docker的简介及与SSH连接图5
其间,-t 选项让Docker分配一个伪终端(pseudo-tty)并绑定到容器的规范输入上,-i 则让容器的规范输入保持翻开。
当运用 docker run 来创立容器时,Docker 在后台运转的规范操作包含:
(1)检查本地是否存在指定的镜像,不存在就从公有库房下载
(2)运用镜像创立并发动一个容器
(3)分配一个文件体系,并在只读的镜像层外面挂载一层可读写层
(4)从宿主主机装备的网桥接口中桥接一个虚拟接口到容器中去
(5)从地址池装备一个 ip 地址给容器
(6)履行用户指定的运用程序
(7)履行完毕后容器被停止
能够运用下面指令来检查CentOS版别信息:
$ cat /etc/redhat-release
修正root暗码
运用passwd暗码来修正暗码(如提示没有这个指令行运用yum install passwd装置):
$ passwd xxx暗码 xxx确认暗码123
装置Openssh
运用下面指令装置ssh server/ssh client:
$ sudo yum -y install openssh-server$ sudo yum -y install openssh-clients
修正SSH装备文件以下选项,去掉#注释,将四个选项启用:
$ vi /etc/ssh/sshd_configRSAAuthentication yes #启用 RSA 认证PubkeyAuthentication yes #启用公钥私钥配对认证方法AuthorizedKeysFile .ssh/authorized_keys #公钥文件路径(和上面生成的文件同)PermitRootLogin yes #root能运用ssh登录123456
Docker的简介及与SSH连接图6
重启ssh服务,并设置开机发动:
$ service sshd restart$ chkconfig sshd on
退出容器并保存更改
运用exit指令或许ctrl+C来退出当时运转的容器:
[root@ffe81683c404 /]# exit
注意:上面ffe81683c404是容器的ID,退出后用于保存的唯一ID。
当完毕后,咱们运用 exit 来退出,现在咱们的容器现已被咱们改变了,运用 docker commit 指令来提交更新后的副本。
$ sudo docker commit -m 'install openssh' -a 'Docker Newbee' ffe81683c404 centos6-jdk7:ssh4f177bd27a9ff0f6dc2a830403925b5360bfe0b93d476f7fc3231110e7f71b1c12
其间,-m 来指定提交的说明信息,跟咱们运用的版别操控工具相同;-a 能够指定更新的用户信息;之后是用来创立镜像的容器的ID;最终指定方针镜像的库房名和 tag 信息。创立成功后会返回这个镜像的 ID 信息。
提交后docker中就会多出一个centos6-jdk7:ssh的一个镜像。
Docker的简介及与SSH连接图7
发动新的容器并打通22端口