• Docker 快速入门体验


    Docker 是什么?

    Docker 是一个开源项目,它能够自动化部署应用程序,通过所谓的容器来实现。这些容器允许开发者将自己的应用以及依赖打包到一个可移植的容器中,然后发布到任何流行的 Linux 或 Windows 机器上也可以实现虚拟化。Docker 更改了软件容器的虚拟化技术,使开发者可以快速地使用 Docker 容器来运行和测试部署到生产环境中的工作负载。

    Docker的主要概念

    在Docker 中的主要概念包括:

    • Container(容器): Docker 可以将应用及其依赖打包到一个可移植的容器中,这个容器可以在几乎任何机器上运行。

    • Image(镜像): Docker 可以使用镜像(images)来创建 Docker 容器。镜像是可执行的软件包,包含了运行某个应用所需的所有内容,包括代码、运行时环境、库、环境变量和配置文件。

    • Dockerfile: Dockerfile 是一种文本文件,它包含了用户可以调用来创建 Docker 镜像的指令。

    • Docker Hub: Docker Hub 是一个托管 Docker 镜像的服务。用户可以在 Docker Hub 中创建自己的镜像,并可以使用他人的镜像。

    Docker 在进行系统级的虚拟化时提供了多种优势,如更高效的资源利用、更快的启动时间、一致的运行环境和更好的应用隔离等,使得 Docker 在微服务架构、持续集成和持续部署等场景下得到了广泛的应用。

    Docker的下载与安装

    Docker 的官方站点是 :https://www.docker.com/ ,在该站点可以下载不同操作系统版本的Docker。

    Docker提供了多种版本,个人版本的使用是免费的,专业、团队和企业的版本是按月收取费用的,不过功能和支持也更多,详细参考下图:
    在这里插入图片描述

    简单起见,本篇以Windows下安装和使用Docker为例进行介绍。 可以到https://www.docker.com/products/docker-desktop 下载Docker Desktop, 下载之前需要先注册账号, 也可以通过如下地址直接下载:
    https://desktop.docker.com/win/main/amd64/Docker%20Desktop%20Installer.exe?_gl=1krkrmx_gaMjEyOTU5NzE2My4xNjkxNzMxNjg1_ga_XJWPQMJYHQ*MTY5NzQ0MjkwOS41LjEuMTY5NzQ0MzcxOS41Ni4wLjA.

    安装 Docker Desktop:

    运行下载的 Docker Desktop 安装程序,并按照提示进行安装,下面的画面直接默认就可以了
    在这里插入图片描述

    安装完成的界面如下:
    在这里插入图片描述

    启动 Docker Desktop:

    安装完成后,找到 Docker Desktop 应用程序并启动, 启动会花费一些时间,启动的过程如下图:
    在这里插入图片描述

    启动成功后的画面如下:
    在这里插入图片描述

    在Windows启动可能会报 WSL kernel version too low 的错误, 解决方法如下章节介绍。

    无GUI界面如何验证 Docker 是否正常安装

    如果是在Linux等没有GUI界面安装,可以使用如下方式验证是否安装和启动成功

    打开命令行输入以下命令检查 Docker 是否正常运行:

    docker --version
    
    • 1

    如果返回 Docker 的版本信息,说明 Docker 已正常安装且正在运行。
    在这里插入图片描述

    运行你的第一个 Docker 容器:

    在命令行中执行以下命令,运行一个"Hello, World!"程序的 Docker 容器:

    docker run hello-world
    
    • 1

    这条命令会下载一个简单的 Docker 镜像,并运行一个容器,然后在终端中输出一条"Hello from Docker!"的消息,然后退出。如果你看到了这条消息,恭喜你,你已经成功地运行了你的第一个 Docker 容器!
    在这里插入图片描述

    Docker Desktop 图形化用户界面

    Docker Desktop 提供了一个图形化的用户界面,相比命令行,更加简单、直观。可以通过它来管理 Docker 引擎、镜像、容器、容器网络以及卷(Volume)。Docker Desktop启动后的界面如下:
    在这里插入图片描述

    WSL kernel version too low 问题及解决

    在Windows启动Docker Desktop 可能会遇到如下问题:
    在这里插入图片描述

    该错误通常意味着你的 WSL (Windows Subsystem for Linux) 内核版本过低,无法运行某些程序或命令。可以通过升级你的 WSL 内核版本来解决这个问题:

    1. 下载最新的 WSL 2 Linux 内核更新包:

    访问 Microsoft 的 WSL 2 Linux 内核更新页 (https://aka.ms/wsl2kernel) 并下载最新的 WSL 2 Linux 内核更新包。
    下载地址: https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi

    1. 安装更新包:

    运行刚刚下载的更新包,与正常的软件安装过程相同。

    1. 设置 WSL 默认版本为 2:

    打开 PowerShell(建议使用管理员权限),运行以下命令:

    wsl --set-default-version 2
    
    • 1

    这将使新安装的 Linux 发行版使用 WSL 2,而不是 WSL 1。

    重新启动你的 WSL(或者你的计算机)后,错误应该已经得到了解决。

    如果系统版本低于 Windows 10 2004 版本(Build 19041),可能需要先更新Windows 系统版本。可以通过 “设置” > “更新和安全” > “Windows 更新” 来检查和安装 Windows 更新。如果系统不支持 WSL 2,也可以选择继续使用 WSL 1,但可能无法使用某些功能或软件。

    容器 (container)快速体验

    Docker Desktop 安装完成之后, 默认提供了一个容器的示例,在Container 标签也中有一个welcome-to-docker
    在这里插入图片描述

    这个容器创建一个运行在8088端口的Web应用程序,点击运行之后就可以在浏览器中看到运行后的效果。
    在这里插入图片描述

    Docker 是一个隔离的环境,这个环境包括了一些操作系统等的文件, 点击welcome-to-docker 之后进入Files 的标签页, 可以看到文件:
    在这里插入图片描述

    点击停止、启动、重启或是删除按钮操作创建的容器
    在这里插入图片描述

    Docker 的作用

    Docker 是一种容器技术,它可以使开发者将应用及其所有依赖打包到一个轻量级、独立的可执行环境中,这个环境可以无视硬件环境在任何主流操作系统中运行。Docker 的主要作用包括但不限于以下几点:

    • 环境一致性: Docker 可以消除“在我机器上可用”这种问题。无论你是在自己的机器上进行开发,还是在测试服务器上进行测试,或是在生产环境中部署应用程序,Docker 都可以确保运行环境的一致性。

    • 快速、可复用的环境: 使用 Docker,你可以在几秒钟内启动或停止一个应用程序环境。也可以方便地使用 Docker 镜像和 Dockerfile 来共享和复用环境。

    • 微服务架构支持: Docker 以轻量级的方式支持微服务架构,可以为每个微服务都建立一个独立的 Docker 容器,每个容器都运行一个应用,并且有自己独立的运行环境。

    • 持续集成/持续部署 (CI/CD):Docker 可以和各种 CI/CD 工具很好地集成,帮助你实现自动化的测试和部署。

    • 可扩容性与集群管理: Docker 同样也支持容器的扩容及群集管理,你可以使用像是 Kubernetes 这样的工具在多个主机上启动和管理 Docker。这使得在大规模的生产环境中使用 Docker 成为可能。

    综上所述,Docker 的主要作用是允许开发者和运维人员在一个隔离的环境中,快速且一致地开发、打包、分发和运行应用程序。通过使用 Docker,团队可以更容易地进行协作,从而缩短了从开发到部署的周期。



  • 相关阅读:
    基于java的出租车预约网站
    Centos Sendmail
    QT 系统学习 day01 了解各种控件,学习信号槽,QPushbutton
    麒麟软件操作系统下载
    Qt编写物联网管理平台44-告警邮件转发
    一款轻量级事件驱动型应用程序框架
    GreenPlum6.x之测试数据
    Java后端模拟面试 题集④
    一、osg编译
    7.1 实现进程内存块枚举
  • 原文地址:https://blog.csdn.net/oscar999/article/details/133915680