zl程序教程

您现在的位置是:首页 >  其他

当前栏目

Docker容器和镜像

2023-04-18 14:59:47 时间

Docker容器是镜像的运行实例。可以使用命令行界面(CLI)命令运行,如启动,停止,移动或删除容器。还可以为网络和环境变量提供配置。Docker容器是一个独立且安全的应用平台,但它可以共享和访问在不同的主机或容器中运行的资源。

镜像是一个只读模板,其中包含创建Docker容器的说明。Docker文件描述了Docker镜像,Dockerfile具有简单明了的语法。镜像没有状态,永远不会改变。Docker Engine提供核心Docker技术,支持镜像和容器。

可以借助以下命令了解容器和镜像。

docker run hello-world

上述命令docker run hello-world有三个部分。

1.docker:它是docker引擎,用于运行docker程序。它向操作系统通知指定运行docker程序。2.run:此子命令用于创建和运行docker容器。3.hello-world:这是一个镜像的名称。需要指定要加载到容器中的镜像的名称。

镜像可以理解为一种构建时(build-time)结构,而容器可以理解为一种运行时(run-time)结构,如下图所示。

镜像仓库服务

Docker 镜像存储在镜像仓库服务(Image Registry)当中。

Docker 客户端的镜像仓库服务是可配置的,默认使用 Docker Hub。

镜像仓库服务包含多个镜像仓库(Image Repository)。同样,一个镜像仓库中可以包含多个镜像。

可能这听起来让人有些迷惑,所以下图展示了包含 3 个镜像仓库的镜像仓库服务,其中每个镜像仓库都包含一个或多个镜像。

官方和非官方镜像仓库

Docker Hub 也分为官方仓库(Official Repository)和非官方仓库(Unofficial Repository)。

顾名思义,官方仓库中的镜像是由 Docker 公司审查的。这意味着其中的镜像会及时更新,由高质量的代码构成,这些代码是安全的,有完善的文档和最佳实践。

非官方仓库更像江湖侠客,其中的镜像不一定具备官方仓库的优点,但这并不意味着所有非官方仓库都是不好的!非官方仓库中也有一些很优秀的镜像。

在信任非官方仓库镜像代码之前需要我们保持谨慎。说实话,读者在使用任何从互联网上下载的软件之前,都要小心,甚至是使用那些来自官方仓库的镜像时也应如此。

大部分流行的操作系统和应用在 Docker Hub 的官方仓库中都有其对应镜像。这些镜像很容易找到,基本都在 Docker Hub 命名空间的顶层。