Docker(一) —— 虚拟机安装Docker

发布于:2022-11-13 ⋅ 阅读:(2164) ⋅ 点赞:(2)

Docker概述

  1. 将应用程序的jar包和环境一起打包成镜像,谁需要就直接下载这个镜像,可以直接运行。
  2. 隔离思想:集装箱,箱子之间不会有任何接口
  3. Docker VS. 虚拟机

     Dcoker和宿主机的关系:

     Dcoker直接使用宿主机的Kernel,也没有虚拟硬件,每个容器相互隔离,都有一个属于自己的文件系统。

    1. 在Docker出来之前,我们都是用虚拟机
    2. 都是虚拟化技术
    3. 都是通过镜像安装,但虚拟机的镜像是一台完整的电脑(需要模拟硬件和操作系统和软件),而Docker的镜像只包含应用运行所需要的环境
    4. Docker轻巧,虚拟机笨重
    5. 虚拟机和宿主机的关系
  4. Docker的文档非常详细Docker Documentation | Docker Documentation

Docker的原理

Docker是一个Client-Server结构的系统,Docker的守护进程运行在主机上。通过Socket从client访问。

Server收到Client的命令(pull /run/build),就会执行这个命令。 

镜像和容器的关系其实就是程序和进程之间的关系,运行起来的镜像(程序)就是容器(进程),同一个镜像可以开多个容器。 

问题:既然Docker是C/S结构的,那么Docker和MySQL一样主要是部署在大型服务器上,而不是我们PC自己用的软件吗?

回答:类比虚拟机来看,Docker和虚拟机都是基于宿主机的内核去实现虚拟的,所以client和server应该都在一台PC上,而不是用自己的PC作为DockerClient去请求另一台服务器上的DockerServer。

Docker能做什么

关键词:Devops(开发+运维)

1.应用更快速地交付和部署

之前开发和运维使用的不是同一套系统,运维需要读开发文档再次搭建环境十分麻烦。

Docker镜像将环境一起打包,一键运行!

2. 更便捷的升级和扩缩容

升级:比如一个镜像里有(springboot 1.5 /redis 5/ tomcat 8)这3种环境,我们现在要对Tomcat8进行升级,,,,后面没明白

扩缩容:一个容器把服务器A占满了,可以在服务器B上一键运行这个容器,实现负载均衡

3.更高效的服务器资源利用

集装箱能塞多少塞多少,可以把服务器的性能压榨到极致

安装Docker

本来想在Windows下安装,docker也提供了Windows版本。但是鉴于企业都是在Linux里使用docker的,并且Docker原本也是为Linux内核开发的,只不过通过WSL可以实现在Windows上使用Linux内核。所以还是决定在Linux下安装Dcoker.

6、安装Docker_哔哩哔哩_bilibili

步骤和这篇博客里的一模一样 

Docker安装(Centos 7.5)_码农娟的博客-CSDN博客_centos7.5安装docker

测试HelloWorld

启动Docker服务

systemctl start docker

通过这个命令可以看出,docker下载后被作为了系统服务,以系统服务的方式在后台开启。 

测试HelloWorld

docker run hello-world

docker先去本地仓库找,因为我们本地的镜像仓库里什么都没有,当然也没有hello-world这个镜像,所以一开始会显示“Unable to find image locally” 。进而去配置的远程仓库去找(前面配置的阿里云)。

        远程仓库找到的话,把这个镜像pull到我们的本地仓库,然后创建容器执行。

        远程仓库找不到的话会报错。


网站公告

今日签到

点亮在社区的每一天
去签到