一、前言

由于 Docker 是一个容器,它支持在一个服务器进行多服务部署,并且还能保持服务的独立性,那么,在Docker 上的运用时 我们也是可以 独立部署多个系统来做不同是其他,这样环境独立的情况下,也就不会造成一下不必要的问题。

二、使用 Docker Desktop 安装 Linux 系统

CentOS(Community Enterprise Operating System)是 Linux 发行版之一,它是来自于 Red Hat Enterprise Linux(RHEL) 依照开放源代码规定发布的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定性的服务器以 CentOS 替代商业版的 Red Hat Enterprise Linux 使用。

1、安装 Docker Desktop

请看这里:Docker Desktop 安装使用教程

2、使用 Docker Desktop 安装 Centos 镜像

2.1、 查看 CentOS 镜像

docker官方地址:https://docs.docker.com/engine/install/centos/
访问 CentOS 镜像库地址: https://hub.docker.com/_/centos?tab=tags

在这里插入图片描述在这里插入图片描述

# 查看centos有哪些镜像
docker search centos

在这里插入图片描述

2.2、 下载 CentOS 镜像

注意:Centos 不同版本之间 操作命令有些会稍微有所不一样,会出现某些命令无法使用的情况。
访问 CentOS 镜像库地址:https://hub.docker.com/_/centos?tab=tags&page=1。
可以通过 Sort by 查看其他版本的 CentOS 。默认是最新版本 centos:latest 。

# 拉取最新版本centos镜像
docker pull centos

# 拉取centos7镜像
docker pull centos:7

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

2.3、 下载 CentOS 镜像

# 查看本地镜像
 docker images
# 查看更详细的centos信息
docker inspect centos

在这里插入图片描述

这个时候也可以在Docker Desktop 的 images 进行查看

在这里插入图片描述

2.4、运行容器,并且可以通过 exec 命令进入 CentOS 容器。

# 运行容器,并且可以通过 exec 命令进入 CentOS 容器
docker run -itd --name centos-test centos:centos7

在这里插入图片描述

也可以在Docker Desktop 的 Containers 进行运行

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.5、安装成功

# 通过 docker ps 命令查看容器的运行信息
docker ps

在这里插入图片描述

2.6、运行容器,通过 exec 命令 创建、设置端口号并启动 CentOS 容器。

我在这一步的时候使用 Docker Desktop 不知道为什么设置不了端口号,最后还是只能在exec 命令操作
参数说明:

  1. 参数–name:设置container容器的名称,我们设置成centos8,如果为空则随机生成。
  2. 参数-p:指定端口号,2060是宿主机的端口号,22是container的端口号,相当于把容器的22端口号映射到宿主机的2060。
  3. 参数-v:设置主机与container的共享目录:
    主机绝对路径:container绝对路径,我们这里把宿主机的/home/jason目录,映射到container的/home/centos,你在容器里
    是可以查到这个目录的。
  4. 参数centos:对应的是镜像的名称。
# 创建并启动centos8容器
docker run -itd -p 2060:22 -v /home/jason:/home/centos --name centos8 --privileged centos /usr/sbin/init
# 指定centos7容器的名称为centos-desktop-vnc,并暴露宿主机的5901来连接vnc
docker run --name centos-desktop-vnc --privileged -d -p 5901:5901 --ulimit memlock=-1 -td centos:7 /usr/sbin/init

在这里插入图片描述

2.7、进入容器环境

# 进入到docker(centos8)容器控制台
docker exec -it centos8 /bin/bash
# 进入到docker(centos7)容器控制台
docker exec -it centos-desktop-vnc bash

在这里插入图片描述

3、使用 SSH 连接 Docker 镜像的 Linux 系统

3.1、配置appstream 仓库 镜像列表URL

centos官方停止了对centos8的维护,使用yum命令时候 会提示 appstream 镜像仓库没有url地址

在这里插入图片描述

#repos 目录
cd /etc/yum.repos.d/

#修改centos 设置url地址
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-*

#手动缓存 不执行也可以
yum makecache

#更新Yum 
 yum update -y

#到这里 yum 命令可以正常执行了

在这里插入图片描述

3.2、安装 net-tools

在这里插入图片描述

3.3、给centos安装ssh

# 检查有无安装ssh
yum list installed | grep openssh-server
#安装 密码和ssh服务
yum install passwd openssl openssh-server -y
​
# 使用vim 查看 /etc/ssh/sshd_config 文件
#  PermitRootLogin 需要打卡
# 监听端口:22端口 和启动的端口对应
# 开启用户名密码验证关键字:PasswordAuthentication
# 以上配置一般是默认的,最好查看一下

在这里插入图片描述

# 启动 sshd
systemctl start sshd 
# 配置开机启动
systemctl enable sshd

在这里插入图片描述

# 配置密码  需要确认两次 且密码不可见
 passwd 
# 到此 docker下安装centos就完成了,且配置了ssh访问

在这里插入图片描述

3.4、Xshell 访问 centos

详情 请查看这里:xshell和xftp下载安装以及使用

在这里插入图片描述在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

3.5、FinalShell 访问 centos

详情 请查看这里:超级详细的 FinalShell 安装 及使用教程

在这里插入图片描述
在这里插入图片描述

4、配置vnc服务端

关于这个的细节作者就不细讲了,如果有需要可以自己去找其他相关资料

4.1、配置vnc服务端

#安装vnc server、vim、net-tools
yum -y install tigervnc-server tigervnc-server-module vim net-tools

4.2、配置vnc server

#复制配置文件模板
cp /lib/systemd/system/vncserver@.service /lib/systemd/system/vncserver@:1.service
设置生效用户-修改配置文件
vim /lib/systemd/system/vncserver@:1.service

将配置文件的修改为root,由于root的home路径是/root,不是/home/root,因此注意修改PIDFILE的路径 改好之后如下

[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target

[Service]
Type=forking

#Clean any existing files in /tmp/.X11-unix environment
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/usr/sbin/runuser -l root -c "/usr/bin/vncserver %i"
PIDFile=/root/.vnc/%H%i.pid
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'

[Install]
WantedBy=multi-user.target
修改vnc server密码
vncpasswd
生效vnc配置
systemctl daemon-reload

4.3、配置vnc开机启动

#启动服务
systemctl start vncserver@:1
#设为开机启动
systemctl enable vncserver@:1
检查vnc server是否启动
netstat -lnpt|grep Xvnc

出现下图结果说明启动成功
在这里插入图片描述

4.4、关闭防火墙

#关闭防火墙
systemctl stop firewalld
#禁止防火墙开机启动
systemctl disable firewalld

4.5、下载并使用VNC

在这里插入图片描述

到此 就结束了!

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐