Windows下使用xshell连接docker中的centos

实现路线:安装镜像,开启ssh服务,使用xshell连接。
1、windows下载安装Docker

     官方地址https://www.docker.com/,具体安装自行处理吧。
2、 打开命令行,拉取centos镜像(默认拉取最新版本),此时拉的是centos8

docker pull centos

3、使用特权模式+指定映射端口创建并启动容器

docker run -tid --name=centos --privileged=true -p 22:22 centos /usr/sbin/init
# -p 后面是要映射的端口,如果看不懂就继续往下跟着操作,到最后面就懂了
# --privileged=true 使用特权模式

4、进入容器

docker exec -it centos /bin/bash

5、安装网络工具(此过程可能出现错误,见本文附的解决办法1)

[root@d34a7fa0d2f3 yum.repos.d]# yum install net-tools

6、启动ssh服务(此过程可能出现错误,见本文附的解决办法2)

[root@d34a7fa0d2f3 yum.repos.d]# systemctl start sshd.service

7、安装密码设置工具

[root@d34a7fa0d2f3 yum.repos.d]# yum install passwd

8、修root密码

[root@d34a7fa0d2f3 yum.repos.d]# passwd root

9、使用xshell连接docker中的centos

   xshell工具百度自行下载一个就能用。

 

点击连接即可完成。

  

连接成功如图所示。

  

————————————————————————————————————————————————————————————————


 操作过程中出现问题解决办法(此部分按照操作时的版本,已亲测解决):

1、上面的操作步骤5安装网络工具,出现以下错误:

[root@d34a7fa0d2f3 /]# yum install net-tools
Failed to set locale, defaulting to C.UTF-8
CentOS Linux 8 - AppStream                                                              106  B/s |  38  B     00:00
Error: Failed to download metadata for repo 'appstream': Cannot prepare internal mirrorlist: No URLs in mirrorlist

    解决办法:

    a.进入到 yum 的 repos 目录:

cd /etc/yum.repos.d/

    b.修改 centos 文件内容:

sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*
sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*

    c.生成缓存更新(第一次更新,速度稍微有点慢,耐心等待两分钟左右)

yum makecache

   d.运行 yum update 并重新安装 net-tools    

yum update -y
yum -y install net-tools

   此时安装net-tools即可成功。

2、启动ssh服务时报错如下:

[root@d34a7fa0d2f3 yum.repos.d]# systemctl start sshd.service
Failed to start sshd.service: Unit sshd.service not found.

    解决办法:

[root@d34a7fa0d2f3 yum.repos.d]# yum install openssh-server

    安装成功后再次输入systemctl start sshd.service命令即可成功。

posted @ 2023-04-03 10:10  泡影  阅读(1253)  评论(0)    收藏  举报