Docker安装SSH服务网络上一直存在争议,原因是Docker的设计理念是一个容器运行一个服务,所以在将来要搭建的服务上增加了SSH,让Docker违背了设计的初衷,但对于我们学习而言,我们为了掌握技术,所以不去考虑它的一些争议,按下来我们进行操作吧。
1、关闭宿主主机的SELinux
如果不关闭宿主主机的SELinux服务,在下面修改容器内服务器的密码,会出现错误。修改/etc/selinux/config文件中设置SELINUX=disabled ,然后重启服务器。
# 编辑SELinux配置文件 vi /etc/selinux/config
# 重新启动服务器 reboot
2、启动基本镜像并安装相应服务
我们在启启动基本镜像前,需要pull一个镜像,目前我们的镜像已经成功下载,启动并进入bash模式下。
# 启动基本镜像,进入bash模式 docker run -it centos:latest /bin/bash
3、安装配置所必要的命令及服务
# 安装相关命令及服务 yum install vi passwd openssh-server -y
4、修改root密码
# 修改root密码,如果不修改将来无法远程 passwd root
5、编写启动脚本
# 在根目录下创建启动脚体 vi /run.sh
在文件内容加入如下内容:
# 设置/run.sh有可执行的权限 chmod +x /run.sh
6、退出容器并保存镜像
# 退出当前容器 exit # 查看容器信息,主要查看ID docker ps -al # 保存当前容器 docker commit -m 'openssh-server' -a 'lixh' 7289a095be97 sshd:centos
7、启动容器
# 启动容器,并设置了外部访问端口 docker run -d --name sshsrv -p 10022:22 sshd:centos /run.sh # 查看是否成功启动并成功端口映射 docker ps
8、远程连接测试
# 可以通过宿主主机的IP与端口访问容器 ssh root@192.168.10.127 -p 10022
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。