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
报错方案解决的资料:
http://blog.sina.com.cn/s/blog_53e6076b0102wwp3.html
https://blog.csdn.net/xiaochonghao/article/details/64438246

更多docker启动容器命令详情参考: https://www.cnblogs.com/yfalcon/p/9044246.html

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

vim命令无效的,请参考这个链接的内容:https://blog.csdn.net/cai454692590/article/details/85871699

将文件中,关于监听端口、监听地址前的 # 号去除
在这里插入图片描述

开启允许远程登录
在这里插入图片描述

开启使用用户名密码来作为连接验证

在这里插入图片描述

按下Esc,输入命令 :wq 保存、退出。

5.开启ssh服务

输入命令ps -e | grep sshd 检查是否开启了ssh服务 或 输入netstat -an | grep 22 检查 22 号端口是否开启监听
输入命令 service sshd startsystemctl start sshd.service 开启ssh服务
如果出现service: command not found,则先安装service。

  1. 输入命令 yum list | grep initscripts 查看版本
    在这里插入图片描述
  2. 输入命令 yum install initscripts -y 安装service
  3. 输入命令 service sshd startsystemctl start sshd.service 开启ssh服务
  4. 输入命令ps -e | grep sshd 检查是否开启了ssh服务
    在这里插入图片描述

启动sshd服务命令 systemctl start sshd.service
重启 sshd服务命令 systemctl restart sshd.service
设置服务开启自启命令 systemctl enable sshd.service

6.远程端口映射

  1. 先使用commit命令提交docker的容器镜像 docker commit 52fd5891c694 centos_ssh
    (52fd5891c694 为容器id、centos_ssh镜像名称)
  2. 将新的镜像启动,并将docker服务器的50001端口映射到容器的22端口上
    docker run --privileged -d -p 50001:22 --name=centos_ssh_servier 371a214b38b5 /usr/sbin/init
  3. 打开主机防火墙端口 50001 sudo firewall-cmd --add-port=50001/tcp
  4. 远程ssh访问 192.168.0.105:50001
Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐