docker 安装CenterOS 并设置SSH远程
1.使用Docker下载CentOS镜像
输入命令,下载centos的镜像
docker pull centos
下载完成后,使用命令docker images
查看本地镜像列表
2.Docker启动CentOS镜像
输入以下命令,启动CenterOS容器
docker run --privileged -d --name=centos_server 1e1148e4cc2c /usr/sbin/init
–privileged 和 /usr/sbin/init 很重要!!!!
不然后面那你会发现启动ssh服务的时候,会报错:
Failed to get D-Bus connection: Operation not permitted
3.进入CentOS镜像容器,修改Root密码
输入以下命令查看正在运行的容器
docker ps
输入命令,进入容器里面
docker exec -it centos_mysql_tomcat /bin/bash
输入命令 passwd -d root
清除root账号的密码,输入命令 passwd root
进行修改root密码,然后重复两次输入新密码,如:123456
4.修改ssh配置,允许root登录
进入容器之后进行编辑ssh文件,如果没有ssh,需要先安装:
查看是否安装了ssh-server服务命令:yum list installed | grep openssh-server
如果如上图那样,表示已经安装好了
安装ssh-client命令:yum install openssh-clients
安装ssh-server命令:yum install openssh-server
找到了 /etc/ssh/ 目录下的sshd服务配置文件 sshd_config,用Vim编辑器打开vi sshd_config
将文件中,关于监听端口、监听地址前的 # 号去除
开启允许远程登录
开启使用用户名密码来作为连接验证
按下Esc,输入命令 :wq
保存、退出。
5.开启ssh服务
输入命令ps -e | grep sshd
检查是否开启了ssh服务 或 输入netstat -an | grep 22
检查 22 号端口是否开启监听
输入命令 service sshd start
或 systemctl start sshd.service
开启ssh服务
如果出现service: command not found,则先安装service。
- 输入命令
yum list | grep initscripts
查看版本
- 输入命令
yum install initscripts -y
安装service - 输入命令
service sshd start
或systemctl start sshd.service
开启ssh服务 - 输入命令
ps -e | grep sshd
检查是否开启了ssh服务
启动sshd服务命令 systemctl start sshd.service
重启 sshd服务命令 systemctl restart sshd.service
设置服务开启自启命令 systemctl enable sshd.service
6.远程端口映射
- 先使用commit命令提交docker的容器镜像
docker commit 52fd5891c694 centos_ssh
(52fd5891c694 为容器id、centos_ssh镜像名称) - 将新的镜像启动,并将docker服务器的50001端口映射到容器的22端口上
docker run --privileged -d -p 50001:22 --name=centos_ssh_servier 371a214b38b5 /usr/sbin/init
- 打开主机防火墙端口 50001
sudo firewall-cmd --add-port=50001/tcp
- 远程ssh访问 192.168.0.105:50001