使用 Docker Desktop 安装 Centos 系统

2023-11-15

一、前言

由于 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

在这里插入图片描述

到此 就结束了!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Docker Desktop 安装 Centos 系统 的相关文章

随机推荐

  • having关键字和where关键字区别

    select语句的基本格式 select 字段列表 from 表 where 表达式 group by 字段 having 表达式 order by 字段 having关键字和where关键字区别 相同点 都是用来过滤数据 不同点 havi
  • 熵在机器学习中的应用

    1 信息量 首先是信息量 假设我们听到了两件事 分别如下 事件A 巴西队进入了2018世界杯决赛圈 事件B 中国队进入了2018世界杯决赛圈 仅凭直觉来说 显而易见事件B的信息量比事件A的信息量要大 究其原因 是因为事件A发生的概率很大 事
  • Unity拓展——Project窗口拓展

    Unity拓展 Project窗口拓展 1 鼠标右键单击面板 Project面板是用来存放整个工程文件信息的 这个窗口也是可以进行用户自定义拓展的 我们单击Project窗口空白的地方 就会弹出一个面板如下 我们再看看Unity菜单栏 打开
  • 基于教学优化算法(TLBO)求解TSP问题 (Matlab代码实现)

    个人主页 研学社的博客 欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 目录 1 概述 2 运行结果
  • [ 靶场环境篇 ] XSS-labs 靶场环境搭建(特别详细)

    博主介绍 博主介绍 大家好 我是 PowerShell 很高兴认识大家 主攻领域 渗透领域 数据通信 通讯安全 web安全 面试分析 点赞 评论 收藏 养成习惯 一键三连 欢迎关注 一起学习 一起讨论 一起进步 文末有彩蛋 作者水平有限 欢
  • vscode中文注释显示成乱码

    在Ubuntu中用vscode打开代码后发现中文部分出现乱码 搜索了一下方才找到简洁的解决办法 具体如下 1 打开vscode 打开带有中文注释的代码 可以看到中文注释部分为乱码 2 按住ctrl p键 在查找选项框中输入下列的命令 则有下
  • MySQL日志设置及查看

    MySQL有以下几种日志 错误日志 log err 查询日志 log 慢查询日志 log slow queries 更新日志 log update 二进制日志 log bin 默认情况下 所有日志创建于mysqld数据目录中 通过刷新日志
  • 【POJ 2406】 Strings

    Strings Time Limit 3000MS Memory Limit 65536K Total Submissions 35168 Accepted 14543 Description Given two strings a and
  • hosts文件为空白或删除情况修复

    直接输入修改即可 ip baiTab 空格 域名 回车 即可 du如果不放心 复制以下内容zhi修复hosts文件 再修dao改hosts文件 Copyright 1993 1999 Microsoft Corp This is a sam
  • 嵌入式面试题及答案

    我们在找嵌入式方面的工作时 最让我们头疼的恐怕就是技术类的面试题了 因为我们摸不到企业的命题规律 也不知道该怎样去准备 今天华清远见的高级嵌入式讲师将各大企业的面试题进行汇总 分享给大家 希望可以帮到各位小伙伴 下方附有答案哦 一 选择题
  • 深度学习基础模型算法原理及编程实现--10.优化方法:从梯度下降到NAdam

    文章列表 1 深度学习基础模型算法原理及编程实现 01 感知机 2 深度学习基础模型算法原理及编程实现 02 线性单元 3 深度学习基础模型算法原理及编程实现 03 全链接 4 深度学习基础模型算法原理及编程实现 04 改进神经网络的方法
  • C/C++趣味编程经典100例详解

    更新记录 2019 08 27 28题 重写 C C 语言经典 实用 趣味程序设计编程百例精解 1 绘制余弦曲线 在屏幕上用 显示0 360度的余弦函数cos x 曲线 问题分析与算法设计 如果在程序中使用数组的话 这个问题十分简单 但若规
  • 阿辉闯Java(Java基本语法)

    hallo 大家好 接下来和阿辉一起了解一下Java的基本语法吧 1 Java程序的基本格式 Java程序代码必须放在一个类中 初学者可以简单地把一个类理解为一个Java程序 类使用class关键字定义 在class前面可以有类的修饰符 类
  • 二十、转置矩阵

    1 定义 假设 交换A的所有行和列后 形成的新矩阵 即为矩阵A的转置矩阵 对一个矩阵进行转置的转置 结果是原矩阵 2 下面为转置矩阵的性质 分析矩阵时 我们主要从加法 乘法 零空间 列空间 秩 行列式等角度进行分析 矩阵又分为原始矩阵 逆矩
  • Uncaught ReferenceError: xxx is not defined 解决办法

    VM11371 1 Uncaught ReferenceError inputSize is not defined at
  • JSP&EL表达式&MVC&三层结构综合案例

    文章目录 JSP 1 JSP 概述 2 JSP 快速入门 2 1 搭建环境 2 2 导入 JSP 依赖 2 3 创建 jsp 页面 2 4 编写代码 2 5 测试 3 JSP 原理 4 JSP 脚本 4 1 JSP 脚本分类 4 2 案例
  • YOLOv7原文翻译

    前言 这个本来是我的毕业论文文献翻译 但是老师给打回来了 原因是网上的重合率太高 所以我又重新找了一篇 大家 文献翻译千万不要找大热门 太痛苦了 但是翻都翻完了所以就扔上来 除了一些名词不知道怎么翻译之外也还好 按理这些名词应该不翻译直接用
  • CentOS7下解决ifconfig command not found的办法

    注 本办法仅限于可联网的机器 即在安装时设置了IP地址和DNS可正常上网 解决办法如下 1 输入ip addr 确认IP地址是否设置正常 设置好如下所示 如果没有获取到IP地址则设置一个即可 2 确认sbin目录是否存在 cd sbin 3
  • Makefile学习(二)

    Makefile 1 ifeq DEBUG true 2 CC gcc g 生成debug版本 才可以生成调试信息 对程序进行调试 3 else 4 CC gcc 5 endif 6 all hello 7 hello lcd o play
  • 使用 Docker Desktop 安装 Centos 系统

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