思路
使用一个ubuntu,配置好ssh服务再打包成image
使用commit构建
构建镜像
docker run -it ubuntu:14.04 /bin/bash
更新镜像并安装ssh-server
12 apt-get updteapt-get install openssh-server配置ssh
|
|
检查ssh是否运行成功的命令
1 netstat -tunlppam登录限制
vim /etc/pam.d/sshd
12 注释掉session required pam_loginuid.so的如果要使用密码进行ssh认证的话
vim /etc/ssh/sshd_config
取消注释
1 PasswordAuthentication yes使用密钥认证的话
在auchorized_keys文件中写入ssh client的id_rsa.pub内容
12 mkdir /root/.sshvi /root/.ssh/auchorized_keys创建自动启动SSH脚本
|
|
文件内容
12 #!/bin/bash/usr/sbin/sshd -D退出容器
保存镜像
1 docker commit eb6bf1856445 sshd:ubuntu2查看生成的镜像
123 ➜ .ssh docker images sshd:ubuntu2REPOSITORY TAG IMAGE ID CREATED SIZEsshd ubuntu2 d9a07f6fd3f8 34 minutes ago 283.6 MB
使用SSH Server镜像
|
|
镜像启动成功
使用密码登录成功
使用密钥登录成功
使用Dockerfile构建
在宿主主机中创建相关文件
|
|
cat run.sh
|
|
cat Dockerfile
|
|
目录下所有文件
12 ➜ test_ssh_in_docker lsauthorized_keys Dockerfile run.shbuild镜像
➜ test_ssh_in_docker docker build -t sshd:dockerfile3 .
创建容器并SSH
docker run -d -p 10244:22 sshd:dockerfile3
ssh 127.0.0.1 -p 10244