Docker实现CentOS容器SSH远程登录

这里根据Dockerfile方式构建一个CentOS的可远程SSH的镜像。

Dockerfile文件

/data/test/sshd_centos/目录下新建Dockerfile文件。注意:目录可以自行设定,但目录下除了Dockerfile文件外建议不要放置别的文件和目录。

vim Dockerfile
# 生成的新镜像以centos镜像为基础
FROM centos
# 指定作者信息
MAINTAINER by Test
# 安装openssh-server
RUN yum -y install openssh-server

RUN mkdir /var/run/sshd
RUN ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
RUN ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key

# 指定root密码
RUN /bin/echo 'root:123456'|chpasswd
RUN /bin/sed -i 's/.*session.*required.*pam_loginuid.so.*/session optional pam_loginuid.so/g' /etc/pam.d/sshd
RUN /bin/echo -e "LANG=\"en_US.UTF-8\"" > /etc/default/local
EXPOSE 22
CMD /usr/sbin/sshd -D

build镜像

在Dockerfile当前目录执行下面语句,开始构建镜像。注意最后面的点不要忘了,表明是读取当前目录的Dockerfile文件。

docker build -t bigdata/centos-ssh:v1.0.0 .

bigdata/centos-ssh:v1.0.0:新生成的镜像名称及版本号

打包成功的话会出现下面的提示,可能时间会有点长,耐心等待。

Successfully built 2d548392b205

查看镜像

docker images

这里写图片描述

启动容器

docker run -itd -p 10022:22 --name test_centos_1 sshd/centos:v1.0

后台启动一个容器,将该容器名称设置为:test_centos_1,将容器端口22映射到宿主机端口10022。

远程访问

远程通过 宿主机IP、映射端口10022进行访问容器。

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值