从仓库拉取 Docker 镜像

DockerDockerBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

介绍

在这个实验中,你将沉浸在一个古老的迷宫中,扮演一名宝藏猎人的角色,接受挑战,从迷宫深处找回一件珍贵的隐藏宝藏。作为宝藏猎人,你的目标是穿过迷宫找到宝藏,这一过程类似于从仓库中拉取 Docker 镜像。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL docker(("Docker")) -.-> docker/ImageOperationsGroup(["Image Operations"]) docker/ImageOperationsGroup -.-> docker/pull("Pull Image from Repository") subgraph Lab Skills docker/pull -.-> lab-271485{{"从仓库拉取 Docker 镜像"}} end

探索迷宫

想象自己站在一个神秘迷宫的入口,准备踏上一段寻找隐藏宝藏的激动人心的冒险。Docker 就像这个迷宫一样,蕴藏着无数等待探索的可能性。在这一步中,让我们深入容器和镜像的迷宫,为进入 Docker 领域的精彩旅程做好准备。

导航仓库领域

正如宝藏猎人会仔细研究地图和线索一样,你将通过导航仓库(容器镜像的宝库)开始你的 Docker 之旅。仓库就像一个庞大的图书馆,收藏了无数 Docker 镜像,每个镜像都有其独特的用途。

你的第一个任务是找到与你的目标相符的镜像。就像为工作选择合适的工具一样,选择完美的 Docker 镜像对于成功的探索至关重要。使用 docker search 等命令筛选仓库,揭示等待你发现的隐藏宝藏。

docker search <keyword>

<keyword> 替换为与你的目标相关的术语,然后观察 Docker 展示的潜在镜像列表,每个镜像都承载着实现你目标的希望。

例如,搜索名为 alpine 的镜像,你可以使用以下命令。

$ cd ~/project
$ docker search alpine

示例

如果你正确运行命令,输出应该如下所示:

$ docker search alpine
NAME                               DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
alpine                             A minimal Docker image based on Alpine Linux…   10557     [OK]
alpinelinux/docker-cli             Simple and lightweight Alpine Linux image wi…   9
alpinelinux/alpine-gitlab-ci       Build Alpine Linux packages with Gitlab CI      3
alpinelinux/gitlab-runner-helper   Helper image container gitlab-runner-helper …   4
alpinelinux/rsyncd                                                                 2
alpinelinux/unbound                                                                9
alpinelinux/alpine-drone-ci        Build Alpine Linux packages with drone CI       0
alpinelinux/docker-compose         docker-compose image based on Alpine Linux      2
alpinelinux/apkbuild-lint-tools    Tools for linting APKBUILD files in a CI env…   0
alpinelinux/gitlab-runner          Alpine Linux gitlab-runner (supports more ar…   5
alpinelinux/ansible                Ansible in docker                               9
alpinelinux/darkhttpd                                                              2
alpinelinux/docker-alpine                                                          0
alpinelinux/golang                 Build container for golang based on Alpine L…   2
alpinelinux/alpine-docker-gitlab   Gitlab running on Alpine Linux                  0
grafana/alpine                     Alpine Linux with ca-certificates package in…   6
alpinelinux/docker-abuild          Dockerised abuild                               0
alpinelinux/alpine-www             The Alpine Linux public website (www.alpinel…   0

获取地图

当你深入 Docker 的迷宫时,偶然发现了一张古老的地图——这是解开隐藏秘密的关键。这张地图就像 Docker 镜像一样,承载着指引你寻找终极宝藏的希望。

获取地图(Docker 镜像)

docker pull <keyword>

使用已识别镜像的名称执行 docker pull 命令,就像展开古老地图以揭示其复杂细节一样。这一操作会拉取镜像,为你提供旅程中所需的关键知识。

在 Docker 领域中,地图镜像就像蓝图一样,为你提供容器化环境的配置、依赖关系和复杂性的洞察。它是你的指路明灯,引导你穿越容器的迷宫。

在这一步中,你需要拉取名为 alpine 的镜像。你可以在终端中运行以下命令:

$ docker pull alpine

示例

如果你正确运行命令,输出应该如下所示:

$ docker pull alpine
docker pull alpine
Using default tag: latest
latest: Pulling from library/alpine
59bf1c3509f3: Pull complete
Digest: sha256:21a3deaa0d32a8057914f36584b5288d2e5ecc984380bc0118285c70fa8c9300
Status: Downloaded newer image for alpine:latest
docker.io/library/alpine:latest

In the heart of the Docker maze, you find yourself at a crossroads, surrounded by corridors leading to different realms. Your next task is to traverse these corridors by bringing your Docker container to life. This step mirrors the process of running a container from the image you've pulled, initiating a journey through the intricate corridors of the containerized environment.

Unleashing Container Energy

docker run -it --name <container_name> <map_image> <command>

Execute the docker run command, setting the stage for your container to come to life. The -it flags grant you interactive access, allowing you to navigate the container corridors seamlessly. Replace <container_name> with a name that resonates with your quest, and replace <command> with a correct Linux shell command that you want the container running, making your container an identifiable entity in this vast Docker maze.

In this step, you must run a container that named alpine_container and let it execute the /bin/sh command. You can execute the following command in the terminal:

docker run -it --name alpine_container alpine /bin/sh

Example

If you run the command correctly, the output must be like the following:

$ docker run -it --name alpine_container alpine /bin/sh
/ ## ls -a
. .dockerenv dev home media opt root sbin sys usr
.. bin etc lib mnt proc run srv tmp var
/ #

穿越走廊

在 Docker 迷宫的中心,你发现自己站在一个十字路口,周围是通往不同领域的走廊。你的下一个任务是通过启动 Docker 容器来穿越这些走廊。这一步类似于从你拉取的镜像中运行容器,开启一段穿越容器化环境复杂走廊的旅程。

释放容器能量

docker run -it --name <container_name> <map_image> <command>

执行 docker run 命令,为你的容器启动做好准备。-it 标志为你提供了交互式访问权限,使你能够无缝地导航容器走廊。将 <container_name> 替换为与你的任务相符的名称,并将 <command> 替换为你希望容器运行的正确的 Linux shell 命令,使你的容器在这个广阔的 Docker 迷宫中成为一个可识别的实体。

在这一步中,你需要运行一个名为 alpine_container 的容器,并让它执行 /bin/sh 命令。你可以在终端中执行以下命令:

docker run -it --name alpine_container alpine /bin/sh

示例

如果你正确运行命令,输出应该如下所示:

$ docker run -it --name alpine_container alpine /bin/sh
/ ## ls -a
. .dockerenv dev home media opt root sbin sys usr
.. bin etc lib mnt proc run srv tmp var
/ #

总结

在这个实验中,你踏上了一段穿越古老迷宫寻找隐藏宝藏的激动人心的冒险,这一过程与从仓库中拉取 Docker 镜像的过程相类似。通过执行每一步,你获得了在 Docker 生态系统中导航的实践经验,就像探索迷宫一样,最终获得了对容器化世界的宝贵见解。