期望效果:通过Docker构建一个安装了ssh的CentOS 7容器,并能够通过远程工具登录。
1 下载centos:7镜像
docker pull centos:7
2 创建目录,编写Dockerfile
[root@localhost ~]
[root@localhost docker]
[root@localhost docker]
[root@localhost docker]
Dockerfile的内容如下:
# 基于哪个镜像
FROM centos:7
# 作者
MAINTAINER tao
# 设置环境变量
ENV ROOT_PASSWORD Abc123++
# yum安装openssh-server、openssh-clients、net-tools
RUN yum install -y openssh-server
RUN yum install -y openssh-clients
RUN yum install -y net-tools
# 设置root账号的密码
RUN echo $ROOT_PASSWORD | passwd --stdin root
# 生成ssh的key
RUN ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key
RUN ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
# 容器启动时,启动sshd服务
CMD ["/usr/sbin/sshd", "-D"]
# 监听22端口
EXPOSE 22
3 构建镜像
在Dockerfile所在目录执行构建命令:
docker build -t 'tao/centos-ssh' .
查看构建的镜像:
[root@localhost centos-ssh]
REPOSITORY TAG IMAGE ID CREATED SIZE
tao/centos-ssh latest 96a520857077 28 minutes ago 578MB
4 基于构建的镜像创建容器
基于构建的tao/centos-ssh 镜像创建容器:
[root@localhost centos-ssh]
其中将主机的222端口映射到容器的22端口。
5 使用远程工具登录ssh-test容器
ip: 主机IP
port: 2222
username: root
password: Abc123++
登录成功:
|