虚拟机下载安装、Docker下载安装

虚拟机

虚拟机使用准备

首先检查自己计算机的虚拟化状态。

win10为例,打开任务管理器:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hAcTh8aj-1668237822408)(day17/image-20220908175438522.png)]

如果虚拟化是已禁用,需要自己上网百度自己的电脑如何开启虚拟化,一般都是在开机时进入BIOS去调试每个品牌或主板有不同的开启方式需要自己查询。

RockyLinux有一个600M的镜像压缩包,已经发了网盘连接:

链接:https://pan.baidu.com/s/1bCePepgJJ-8s9n7sJn_QDg?pwd=egno
提取码:egno

VirtualBox清华大学个版本下载路径:

https://mirrors.tuna.tsinghua.edu.cn/virtualbox/

安装失败的同学可以尝试下载5.2.38以上的版本

VirtualBox安装过程正常,各种下一步即可

虚拟机的基本使用

安装虚拟机:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AFWLhY3y-1668238037999)(day17/image-20220909104530541.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uBuKFQk5-1668238038001)(day17/image-20220909104539798.png)]

直接安装即可。

只需要保证安装路径没有中文没有空格

win11的装不上VirtualBox的去下载VMware,然后需要去搜索下载一个CentOS 7.5以上或RockyLinux的镜像。mac系统同学,只需要掌握Homebrew即可。

什么是虚拟机

所谓的虚拟机,就是在当前计算机系统中,又开启了一个虚拟系统。这个虚拟系统,我们要安装Linux系统,我们开发的java项目最终也都会运行在Linux系统上,开发使用windows是正常的。

什么是Linux

linux也是一个计算机操作系统,相较于windows系统,Linux系统更加注重系统的权限,安全性和性能,但是windows易用性好,Linux易用性差,因为Linux系统原生状态下,基本没有任何软件,易用性差,因为Linux是开源的,所有很多个人或组织对原生Linux进行了增强,后放出各种Linux的增强版,这些增强版会默认安装好很多常用软件或驱动,让Linux系统变的易用。

现在市面上比较多的常见的Linux增强版有:

CentOS、Ubantu、RockyLinux、RedHat…等

虚拟机网络配置

配置网络共享连接:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6Bxo36CF-1668238038003)(1657528311357.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2acUDXby-1668238038005)(1657528347065.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IywwUcoo-1668238038007)(image-20220507174433989.png)]

如果共享中出现下拉框,一定要选择Virtualbox的网卡选项

给大家共享的镜像资源,600多M的资源,纯净版的LockyLinux(Virtualbox专用),3.5多G的资源,VMware版包含全部软件的镜像,4.1多G的资源,Virtualbox版包含全部软件的镜像。

Virtualbox加载虚拟机镜像

解压RockyLinux_8.5_VBM.7z(600多M的),获得1.78GB的文件夹,打开这个文件夹。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UGsbCxer-1668238038015)(1657529174891.png)]

双击蓝色图标,会自动开启virtualbox虚拟机,并加载当前镜像。

必须保证当前镜像文件所在全部路径都没有中文

建议启动Virtualbox时使用单击右键->管理员方式运行,virtualbox启动有问题解决不了的,可以参考下面文章安装VMware

链接: 安装VMware

配置镜像参数

选中镜像,点击设置,修改usb设置;

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-glBtrmMI-1668238038019)(image-20220509093858825.png)]

修改网络设置,网卡2名称选择是刚才网络共享的以太网,如果下面尝试连接网络出现name or service not known错误,说明网卡2的界面名称选错了,回设置重新选择;
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MfzY5Alf-1668238038021)(image-20220509094419625.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Wi1Hq078-1668238038023)(image-20220509094434083.png)]

桥接的网卡必须是具备网络连接的网卡.

启动虚拟机

上面配置完成之后,就可以启动虚拟机了,启动虚拟机之后,等待出现登录页面,开机后会自动选择第一项,不用修改,开机后如果鼠标被虚拟机捕获,使用右侧Ctrl键解除。

用户名密码默认都是rockylinux。

密码输入时没有任何提示,但是可以正常识别

登录之后,我们的用户是rockylinux用户,我们尝试连接网络

ping www.baidu.com

如果有周期响应,证明网络畅通,虚拟机可以使用当前计算机的网络功,Ctrl+C可以随时退出当前运行的程序,返回到命令符,如果没有响应,尝试重新调整网卡网络共享配置和虚拟机的网卡桥接配置。

切换到root用户

到此为止,我们成功登录了Linux系统,同时正在操作的用户是rockylinux,这个用户并不具备系统所有权限,所有后面的内容可能因为权限不足受阻。

需要切换到root系统管理员权限;

输入

sudo su -

就能切换到root用户,然后为root用户设置一个密码,有了密码才能登录root用户;

passwd

可以进入设置密码的流程,建议不要使用数字做密码,推荐学习过程中就使用root做密码,当前虚拟机也是网络中的一台计算机,我们要想访问它,必须有一个可用的ip地址;

ifconfig

ifconfig | more 

逐行显示信息,通过上面的命令可以看到自己虚拟机的ip地址,这个ip地址可能是

192.168.56.101

记住这个IP,后面使用这个ip来访问它。

客户端软件连接Linux

下载Bitvise SSH Client软件,安装各种下一步即可,安装后桌面出现下面图标。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xlFSDkLg-1668238038025)(day17/image-20220509104332083.png)]

这个软件是远程链接linux的客户端,双击这个图标进入虚拟机连接界面,Host是刚才虚拟机的IP地址,Port固定为22,Username为root,Initial method换为password登录,选中Store encrypted password in profile,输入密码,点击login in。

报错的话就换个ip地址,通常会有好几个ip一个一个试,如果出现一个弹窗说明连接成功,点击弹窗下面左边的选项。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jrlpAbus-1668238038026)(day17/image-20220508150324092.png)]

我们使用这个软件连接成功后,就可以用这个软件提供的界面来操作Linux了,无论是虚拟机还是实际的物理服务器,我们想远程的控制这个机器的话,都需要使用专门的客户端连接服务器,并向服务器发送指令,这个软件就能完成这个功能。

Docker概述

什么是Docker

我们要学习在Linux(RockyLinux)中安装使用Docker来配置软件的功能。

Docker是一个用来开发、运输和运行应用程序的开放平台。使用Docker可以将应用程序与基础结构分离,以便快速交付软件。使用Docker,您可以以管理应用程序的方式管理基础架构。通过利用Docker的方法快速传送、测试和部署代码,可以显著减少编写代码和在生产中运行代码之间的延迟。

为什么使用Docker

  • 更快速的应用交付和部署:

传统的应用开发完成后,需要提供一堆安装程序和配置说明文档,安装部署后需根据配置文档进行繁杂的配置才能正常运行。Docker化之后只需要交付少量容器镜像文件,在正式生产环境加载镜像并运行即可,应用安装配置在镜像里已经内置好,大大节省部署配置和测试验证时间。

  • 更便捷的升级和扩缩容:

随着微服务架构和Docker的发展,大量的应用会通过微服务方式架构,应用的开发构建将变成搭乐高积木一样,每个Docker容器将变成一块“积木”,应用的升级将变得非常容易。当现有的容器不足以支撑业务处理时,可通过镜像运行新的容器进行快速扩容,使应用系统的扩容从原先的天级变成分钟级甚至秒级。

  • 更简单的系统运维:

应用容器化运行后,生产环境运行的应用可与开发、测试环境的应用高度一致,容器会将应用程序相关的环境和状态完全封装起来,不会因为底层基础架构和操作系统的不一致性给应用带来影响,产生新的BUG。当出现程序异常时,也可以通过测试环境的相同容器进行快速定位和修复。

  • 更高效的计算资源利用:

Docker是内核级虚拟化,其不像传统的虚拟化技术一样需要额外的Hypervisor [管理程序] 支持,所以在一台物理机上可以运行很多个容器实例,可大大提升物理服务器的CPU和内存的利用率。

Docker运行架构图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4tHFb1Yu-1668238038029)(day17/image-20220509113508212.png)]

Docker相关资料

Docker官网:http://www.docker.com

Docker Hub官网(镜像仓库):https://hub.docker.com

所有步骤,均参考官方文档:https://docs.docker.com/engine/install/centos/

安装Docker

官方网站提供的3种安装方式:

  • 设置docker仓库,并且从仓库安装所需内容。
  • 下载RPM安装包,手动更新安装。
  • 为测试和开发环境使用自定义脚本安装。

三种方式中第一种,从docker仓库中安装是比较简单的,这种方式需要当前虚拟机有网络环境,确定具备网络环境再运行下面命令。

RockyLinux支持使用yum命令安装各种程序,

yum命令安装程序类似手机中的应用商店一样

先安装yum-utils包,实现更方便的安装"应用商店"中提供的程序。

yum install -y yum-utils

指定docker仓库路径:

yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

阿里仓库路径:

http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

yum-config-manager \
    --add-repo \
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

执行安装Docker,也是使用yum命令。

yum -y install docker-ce docker-ce-cli containerd.io

下载和安装需要一些时间,如果下载慢,配置上面的阿里Docker仓库地址,运行完成后,当前Linux系统就安装好的Docker,我们需要输入启动Docker的命令,真正让Docker运作起来。

systemctl start docker

测试Docker

为了保证我们Docker运行的正常,Docker提供了一个专门测试Docker功能的镜像。

docker run hello-world

运行可能需要较短时间,运行结果中出现如下内容,表示一切正常。

Hello from Docker!

This message shows that your installation appears to be working correctly.

docker名词解释

  • 容器(container)

首先需要了解什么是容器,容器就是一个进程,内部是独立运行的一个或者是一组应用。它可以被启动、开始、停止、删除。每个容器都是相互隔离的,保证安全的平台。

  • 镜像(image)

镜像(Image)就是一个只读的模板文件。镜像可以用来创建 Docker 容器,一个镜像可以创建很多容器。 就好似 Java 中的 类和对象,类就是镜像,对象就是容器!也可以把镜像看成是模具,而镜像创建出来的容器就是通过这个模具创建的一个一个的实际产品。

  • 宿主机(host)

宿主机就是我们调用命令使用镜像创建容器的服务器(linux)。

  • 镜像仓库(repository)

一个用来容纳多个镜像的仓库,可以链接仓库获取你想要的内部镜像,一般一个镜像仓库中包含多个不同tag的镜像。

  • 镜像服务器(registry)

镜像仓库占用的服务器,这里注意一个镜像服务器未必只有一个仓库,可以有很多仓库,每个仓库又保管的是不同镜像。

  • 客户端(docker-client)

调用docker命令,操作镜像,容器的进程。只要能链接宿主机,操作docker的进程都是docker-client。

Docker基础命令

Docker命令格式

Docker命令的语法结构

docker 子命令 [选项]

docker都有哪些子命令呢,我们可以使用docker的helper子命令查看

docker --help

如果想查询具体的子命令的使用方式:

docker 子命令 --help

我们最常用的子命令之一:启动docker容器的run的相关帮助可以

docker run --help

当然也可以查询官方文档或百度了解更多内容

https://docs.docker.com/reference/

images命令

docker images命令主要能够完成查看当前本地镜像仓库的功能

docker images

这个命令的返回结果显示:

  • REPOSITORY:镜像仓库名,也叫作镜像名。
  • TAG:标签,常用版本号标识仓库,如果是latest就是最新版本。
  • IMAGE ID:镜像id。
  • CREATED:创建镜像时间。
  • SIZE:大小。

docker images命令的常用选项如下

  • -a: 显示所有信息
  • -q: 只显示镜像id,在镜像较多的时候比较常用

search命令

在拉取镜像之前,我们要先明确正确的镜像名称,我们可以输入查询关键字,对镜像仓库进行搜索。

search命令,可以搜索当前系统绑定的远程镜像服务器中的内容。

docker search mysql

这个命令的返回结果显示:

  • NAME:镜像名称。
  • DESCRIPTION:镜像描述。
  • STARS:镜像星级,越高表示越热,使用人越多。
  • OFFICIAL:是否官方镜像。
  • AUTOMATED:是否支持自动化部署。

pull命令

根据我们上面搜索得到的结果,确认关键字之后,我们就可以使用pull命令将我们查询出的软件拉取到本地仓库了。

docker pull [镜像名称]
docker pull mysql

默认下载最新版本,如果要指定版本号可以在名称后指定。

docker pull mysql:5.7.35

至于要指定的版本号有什么,可以在相关的官方网站查询。

猜你喜欢

转载自blog.csdn.net/weixin_43121885/article/details/127820857