文章
· 七月 9, 2023 阅读大约需 7 分钟

Docker简介

您好!社区的各位老师,

在本文中,我们将学习以下主题:

  1. 什么是 Docker?
  2. Docker 的一些好处
  3. Docker 是如何工作的?
  4. Docker 镜像
  5. Docker容器
  6. Docker 镜像存储库
  7. InterSystems 的 Docker 镜像存储库
  8. Docker安装
  9. Docker 基本命令
  10. 使用 docker 运行 IRIS 社区版
  11. Docker 桌面图形用户界面

那么让我们开始吧。


1.什么是Docker?

Docker 初学者指南 — 如何创建您的第一个 Docker 应用程序
Docker 是一种虚拟化软件,可以让应用程序的开发和部署变得非常简单。 Docker 通过将应用程序打包到所谓的容器中来实现此目的,该容器保留应用程序运行所需的所有内容,包括应用程序的实际代码、其库和依赖项、运行时和环境配置。

Docker 是一个容器化平台,允许开发人员在容器化环境中创建、部署和运行应用程序。 Docker 提供了一种将应用程序及其依赖项打包到单个容器中的方法,该容器可以在任何支持 Docker 的计算机上运行。这使得创建可快速、轻松部署的可移植、轻量级应用程序变得容易。


2. Docker 的一些好处

您可以在下面找到使用 Docker 的一些好处:

  • 可移植性Docker 容器可以在任何支持 Docker 的机器上运行,从而可以轻松地跨不同环境部署应用程序。
  • 一致性通过将应用程序及其依赖项打包到容器中,Docker 可确保应用程序一致运行,无论底层基础设施如何。
  • 可扩展性Docker 通过运行同一容器的多个实例,可以轻松地水平扩展应用程序。
  • 资源效率Docker 容器是轻量级的,需要最少的资源,这使得它们非常适合在云基础设施上运行。
  • 安全性Docker 为运行应用程序提供了安全且隔离的环境,降低了与其他应用程序或主机系统发生冲突的风险。

 

3.Docker是如何工作的?

Docker 为称为容器的应用程序创建虚拟化环境。容器是一个轻量级、独立的可执行包,包含运行应用程序所需的所有内容,包括代码、库和依赖项。容器与主机系统隔离。因此,它们可以在任何支持 Docker 的机器上运行,无论底层操作系统或硬件如何。

容器是从映像创建的,这些映像是定义应用程序及其依赖项的只读模板。这些镜像存储在称为注册表的中央存储库中,例如 Docker Hub 或私有注册表。开发人员可以自己创建自定义映像或使用注册表中的预构建映像。

当容器启动时,它是从映像构建的,并拥有自己的隔离文件系统、网络和进程空间。然后,容器可以运行应用程序,就像在专用服务器上运行一样。

 

4. Docker 镜像

Docker 映像是一个轻量级、独立的可执行包,它保留执行应用程序所需的所有内容,包括代码、库和依赖项。 Docker 镜像用于构建和运行容器,容器是可用于运行应用程序的隔离环境。

Docker 映像是根据 Dockerfile 构建的,Dockerfile 是一个文本文件,其中包含一组用于构建映像的指令。 Dockerfile 指定基础映像、应用程序代码和依赖项、环境变量以及创建映像所需的其他配置选项。

Docker 镜像存储在注册表中,例如 Docker Hub 或私有注册表。每次从映像创建容器时,它都会在主机上作为单独的进程运行,与其他进程和容器隔离。

Docker 镜像可用于在不同平台上以一致的方式部署应用程序。它们使打包、分发和部署应用程序变得容易,并确保它们在任何地方都以相同的方式运行。

5.Docker容器

镜像的运行实例是一个容器,如上所述,它是一个轻量级的、独立的、可执行的包,其中包含运行应用程序所需的所有内容,包括代码、库和依赖项。

Docker 容器为运行应用程序提供了一个隔离的环境,确保它拥有正确运行所需的所有资源。每个容器在主机上作为单独的进程运行,并拥有自己的文件系统、网络和其他资源。

Docker 容器被设计为可移植且易于部署。它们可以在任何安装了 Docker 的机器上运行,无论底层操作系统或硬件如何。容器为运行应用程序提供了一致的环境,使得在不同环境(例如开发、测试和生产)之间移动应用程序更加舒适。

Docker 容器可以借助 Docker CLI 或 Docker Compose 或 Kubernetes 等 Docker 工具进行管理。它们可以根据需要启动、停止、暂停和重新启动。还可以使用一系列工具和平台对其进行监控和管理。

总体而言,Docker 容器提供了一种灵活且可扩展的方式来打包和部署应用程序,从而使跨不同环境和平台管理和扩展复杂应用程序变得更加简单。

6.Docker 镜像存储库

Docker 托管着最大的 Docker 存储库之一,称为 Docker 中心  它是一个Docker镜像的存储和分发系统。它为开发人员和组织提供了一个中央存储库来共享和分发其 Docker 映像,从而使使用 Docker 构建、共享和部署应用程序变得更加愉快。

Docker Hub 允许用户和组织存储和管理其 Docker 映像,并提供版本控制、标记和协作等功能。用户可以从 Docker Hub 搜索和下载镜像,也可以将自己的镜像发布到注册中心。

除了公共注册表之外,Docker Hub 还为想要管理自己的 Docker 映像并确保它们只能由授权用户访问的组织提供私有注册表。

 

 

7.InterSystems Docker 镜像存储库

通过使用 Docker Hub 搜索功能,我们可以在 Docker hub 上找到 InterSystems 镜像。

 

8.安装Docker

为了使用 Docker,我们需要在我们的系统上安装它。 Docker提供了各种操作系统的安装包,包括Windows、macOS和Linux。
导航到Docker 网站我们可以从Docker网站下载安装包,运行安装程序,按照提示完成安装。

安装Docker Desktop后,我们可以使用Docker CLI(命令行界面)来管理Docker镜像、容器、网络和其他资源。

 

9.Docker基本命令

这里我们将回顾一些 docker CLI 的基本命令。 (在使用下面详述的命令之前,请确保运行 Docker Desktop)

9.1 列出图像(本地)
我们可以使用-----100----- 命令列出系统上可用的所有 Docker 镜像。以下是如何使用此命令:

 docker image ls


如您所见,目前我们本地没有任何图像


9.2 从 Docker 存储库中拉取镜像

我们可以使用-----101----- 命令从注册表下载Docker镜像

 docker pull <image>

让我们从 docker hub 中提取 intersystemsdc/iris-community 镜像

此时我们应该使用list命令来查看本地的图片

做得好! iris-community镜像拉取成功


9.3 本地删除镜像
我们可以使用-----102-----命令从我们的系统中删除镜像

docker image rm <image name>

9.4 列出所有现有容器(正在运行和未运行)
我们可以使用-----103-----命令来列出正在运行的容器

docker ps


如图所示,此时没有容器在运行。

9.5 创建并启动容器
我们可以使用-----104-----命令来创建并启动容器

docker run <image id/namge>

让我们从 iris-community 镜像创建并启动容器

这里 -----105----- 或 -----106----- 的含义如下:在后台运行命令并将控制权返回给终端。

是时候再次列出正在运行的容器了

 docker ps

我们可以看到我们的 iris-community 镜像容器现在正在运行。

9.6 停止特定容器
我们可以使用-----107-----命令来停止正在运行的容器

docker stop <container id/name>

9.7 启动特定容器
我们可以使用-----108----- 命令来启动Docker中之前停止的容器。

 docker start <container id/name>

9.8 重启特定容器

我们可以使用-----109-----命令来停止和启动Docker中正在运行的容器

docker restart <container id/name>

9.9 删除特定容器

我们可以使用-----110-----命令来删除停止的容器

docker rm <container id/name>

9.10 在正在运行的容器内运行命令
我们可以使用-----111----- 命令在正在运行的容器内运行命令。在执行管理任务或出于调试目的时,它可以派上用场。

 docker exec -it my-container sh

-----111----- 命令的一些常见选项是:

  • -----113----- 或 -----114-----: 即使未连接,此命令也会使 STDIN 保持打开状态,从而允许您与容器交互。
  • -----115----- 或 -----116-----: 此命令为命令分配一个伪 TTY,允许您在容器内使用终端命令。
  • -----105----- 或 -----118-----: 这在后台运行命令并将控制权返回到终端。

10.使用docker运行IRIS社区版

使用下面列出的命令通过使用 iris-community 映像来运行容器

 docker run -d -p 52773:52773 intersystemsdc/iris-community

-----111----- 命令的一些常见选项如下:

  • -----105----- :该命令用于以分离模式启动一个新的 Docker 容器,这意味着该容器将在后台运行,我们可以继续使用终端执行其他任务。
  • -----121-----: 这个命令帮助我们将容器的端口发布到主机,以便可以从Docker网络外部访问容器。

在下图中,您可以看到 IRIS 在 Docker 中运行。

 

11.Docker 桌面 GUI

Docker 桌面还具有 GUI,我们可以在其中以图形方式使用所有上述命令。

 

概括

Docker 是一个功能强大的工具,允许开发人员和 IT 团队在容器化环境中创建、部署和运行应用程序。通过提供可移植性、一致性、可扩展性、资源效率和安全性,Docker 可以轻松地跨不同环境和基础设施部署应用程序。随着容器化的日益普及,Docker正在成为现代软件开发和部署的重要工具。
在接下来的文章中,我们将学习如何使用 Docker 文件(用于构建 Docker 镜像)、Docker compose(一个 YAML 文件,指定应用程序中每个容器的配置选项)和 Docker 卷(一种持久数据存储机制)用于在 Docker 容器和主机之间共享数据。)


感谢您的阅读!

讨论 (2)2
登录或注册以继续