初学者应该知道的 Docker 命令

在深入了解 Docker 的功能和特性之前,我们需要了解为什么需要 Docker。

一、引入Docker之前

在引入 Docker之前,将应用程序交付给目标用户不仅是一项 复杂 的任务,而且也是 乏味 的。需要将 zip 文件、wheel 文件甚至 JAR 文件这样的工件发送给用户,部署在用户的机器上。一旦应用程序或软件部署在用户的机器上,它可能 无法按预期工作 。应用程序在所有机器中的执行方式不同的两个主要原因是:

  1. 不同机器之间的应用程序版本差异
  2. 跨机器的环境变量不一致

Docker 通过打包软件帮助解决了这两个问题,软件所有部分的版本都定义在一个名为 Dockerfile 的文件中。

Dockerfile

Dockerfile 是一个 基于文本的文档 ,其中包含有关软件依赖项的所有信息。Dockerfile 在用户系统上执行,借助 Dockerfile 中列出的命令,软件安装在用户系统上。

通常 Dockerfile 是唯一发送给用户的东西

Python

# file.py
print('Hello All')

理解这个概念,下面有一个 Dockerfile 示例。

Dockerfile

FROM ubuntu:latest
COPY . /loc
RUN make /loc
CMD python /loc/file.py

让我们看看上面的 Dockerfile 是如何工作的。

1. FROM ubuntu:latest :这将创建一个 ubuntu 操作系统层,在该层上可以执行来自 Dockerfile 的其余命令。执行此行后,将从 Docker Hub下载ubuntu 操作系统

2. COPY . /loc :这会将所有文件从当前目录复制到该 /loc 目录。

3. RUN make /loc : 一旦我们安装了我们的 ubuntu 操作系统,我们可以使用 make 命令来编译 /loc 目录中的文件。

4 CMD python /loc/file.py .:使用命令,在用户机器上执行 CMD python文件。 file.py



请注意,这是一个基本的 Dockerfile,与真正的软件发布所使用的 Dockerfile 相差甚远。

如何运行 Dockerfile?

将 Dockerfile 发送给用户后,应使用一些特殊命令来执行 Dockerfile。让我们看看执行 Dockerfile 的过程。

构建 Dockerfile

docker build -t mudit111/docker .

基本上, build 命令用于从 Dockerfile创建 Docker 映像 。 该命令的语法 -t 用于 命名 新创建的 Docker 映像。 . 命令末尾的 used 告诉编译器 Dockerfile 仅存在于当前目录中。

现在,如果尝试在当前目录中查找 Docker 映像,将找不到任何东西,因为 Docker 映像没有存储为单个文件。Docker 映像的存储由系统负责。

列出 Docker 镜像

docker image

使用上述命令,你可以轻松列出当前系统中的所有 Docker 映像。Docker 镜像列表将包括以下详细信息:

  • 存储库
  • 标签
  • IMAGE_ID
  • 已创建
  • 尺寸



这些 Docker 镜像 也可以推送到 Docker Hub 中,供其他用户轻松下载你的项目。Docker Hub 类似于 GitHub。就像 GitHub 存储你的代码一样,Docker Hub 存储 Docker 映像。

运行 Docker 映像

docker run mudit111/docker

运行 mudit111/docker Docker 映像,我们将获得如下输出:



一旦运行 Docker 映像,就会创建一个 docker 容器。Docker 容器一直处于运行状态,直到 Docker 镜像完成。Docker 映像完成后,Docker 容器会自动停止。

列出 Docker 容器

docker ps

此命令有助于查看 正在运行的容器 。但是,这只会列出那些仍处于 运行状态 的容器。使用此命令将 不会 显示已创建但现在已停止的容器。要列出 所有容器 ,包括当前 未处于运行状态 的容器,我们需要 -all 在现有命令的末尾使用。



由于我们的容器当前没有运行,该 docker ps 命令不会显示任何内容。但是, -all 在命令末尾添加将显示所有已 停止 正在运行的容器

将 Docker 映像推送到 Docker Hub

docker push mudit111/docker

docker push 创建 Docker 映像后,可以使用命令轻松地将映像发布到 Docker Hub 。将 Docker 映像推送到 Docker Hub 使全球用户能够在 他们的机器上访问你的 Docker 映像。

在将 Docker 映像推送到 Docker Hub 之前,你应该拥有一个有效的 Docker Hub 帐户。



同样,你也可以从 Docker Hub 拉取任何公共 Docker 镜像

从 Docker Hub 拉取 Docker 镜像

docker pull mudit111/docker

通过使用该 docker pull 命令,你可以将任何 Docker 映像获取到您的系统中。将 Docker 映像下载到您的系统后,你可以使用它 docker run 来运行该映像。



完成这些命令后,你可以尝试制作一个示例 Dockerfile 并将其上传到 Docker Hub。然后,你可以要求任何人从 Docker Hub 下载你的 Docker 映像并尝试运行该映像。

原文链接: dzone.com/articles/dock

发布于 2022-09-07 15:47