2015-01-18 wcdj
摘要:通常Linux系统管理员通过SSH服务来管理OS,但Docker的很多镜像是不带SSH服务的,可以通过attach(遇到假死的现象)或者exec(目前测试ok)的方法进入容器来管理,但是这些命令都无法解决远程管理容器的问题,因此,当需要远程登陆到容器内进行一些操作的时候,就需要SSH的支持了。本文记录如何使用docker commit创建一个带有SSH服务的ubuntu镜像。
(1) 首先以交互的方式运行我们本地的ubuntu容器
docker run -it ubuntu:14.04 /bin/bash
(2) 尝试使用sshd命令,会发现容器中没有安装该服务。
sshd
bash: sshd: command not found
(3) 使用apt包管理器安装openssh-server
apt-get update
apt-get install openssh-server
(4) 安装和配置SSH服务
要正常启动SSH服务,需要目录/var/run/sshd存在,手动创建它,并启动服务:
mkdir -p /var/run/sshd
/usr/sbin/sshd -D &
此时查看容器的22端口(SSH服务器默认监听的端口),已经处于监听状态: