自定义 Docker 鲸鱼的语言

DockerDockerBeginner
立即练习

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

介绍

你好,Docker 语言学家!你已经掌握了让 Docker 鲸鱼说话的本领,但你能让它说多种语言吗?在这个挑战中,你将创建一个 Docker 镜像,使用环境变量来改变鲸鱼问候的语言。准备好让我们的鲸鱼朋友拥有全球化的声音吧!


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL docker(("Docker")) -.-> docker/DockerfileGroup(["Dockerfile"]) docker(("Docker")) -.-> docker/ContainerOperationsGroup(["Container Operations"]) shell(("Shell")) -.-> shell/VariableHandlingGroup(["Variable Handling"]) shell(("Shell")) -.-> shell/ControlFlowGroup(["Control Flow"]) docker/ContainerOperationsGroup -.-> docker/run("Run a Container") shell/VariableHandlingGroup -.-> shell/variables_usage("Variable Usage") shell/ControlFlowGroup -.-> shell/if_else("If-Else Statements") docker/DockerfileGroup -.-> docker/build("Build Image from Dockerfile") subgraph Lab Skills docker/run -.-> lab-389015{{"自定义 Docker 鲸鱼的语言"}} shell/variables_usage -.-> lab-389015{{"自定义 Docker 鲸鱼的语言"}} shell/if_else -.-> lab-389015{{"自定义 Docker 鲸鱼的语言"}} docker/build -.-> lab-389015{{"自定义 Docker 鲸鱼的语言"}} end

创建多语言鲸鱼

想象一下,你正在开发一个多语言应用程序,并且需要一种方法来快速测试你的 Docker 设置在不同语言环境中的表现。这就是我们的多语言鲸鱼派上用场的地方!

在这个挑战中,你将通过创建一个灵活、支持多语言的容器,将你的 Docker 技能提升到一个新的水平。你将使用环境变量——Docker 生态系统中的一个强大工具——来动态改变我们友好的 Docker 鲸鱼的问候语言。

在我们开始之前,让我们先设置你的挑战环境。在你的终端中导航到 ~/project/docker 目录。你会在那里找到一些由你的 Docker 导师提供的初始文件。这些文件将为你提供一个良好的起点,让你能够专注于这个挑战的核心概念。

准备好让我们的鲸鱼朋友拥有全球化的声音了吗?让我们在多语言容器的世界中掀起波澜吧!

任务

你的语言任务(如果你选择接受的话)是:

  1. 检查提供的 entrypoint.sh 脚本,了解它如何处理不同的语言。
  2. 修改 Dockerfile,以包含 entrypoint.sh 脚本并设置环境变量。
  3. 从你完成的 Dockerfile 构建一个 Docker 镜像。
  4. 从你的镜像运行容器,尝试不同的语言设置。

要求

要成功完成这个挑战,你必须:

  1. 在你的 Dockerfile 中使用 docker/whalesay 作为基础镜像。
  2. 在你的 Dockerfile 中创建一个名为 WHALE_LANGUAGE 的环境变量,并将其默认值设置为 "English"。
  3. 正确地将提供的 entrypoint.sh 脚本复制到你的镜像中,并将其设置为入口点。
  4. 使用标签 polyglot-whale 构建你的镜像。
  5. 运行你的容器,并将环境变量设置为让鲸鱼说英语和西班牙语。
  6. ~/project/docker 目录中执行所有命令。

记住,entrypoint.sh 脚本已经为你提供。你的主要任务是创建一个 Dockerfile,正确利用这个脚本,并通过环境变量实现语言定制。

示例

当你选择西班牙语运行容器时,你应该看到类似以下的输出:

docker run -e WHALE_LANGUAGE=Spanish polyglot-whale
 _________
< ¡Hola! >
 ---------
    \
     \
      \
                    ###        .
              ### ### ###       ==
           ### ### ### ###      ===
       /""""""""""""""""___/ ===
  ~~~ {~~ ~~~~ ~~~ ~~~~ ~~ ~ /  ===- ~~~
       \______ o          __/
        \    \        __/
          \____\______/

当使用默认的英语设置运行时:

docker run polyglot-whale
 _________
< Hello! >
 ---------
    \
     \
      \
                    ###        .
              ### ### ###       ==
           ### ### ### ###      ===
       /""""""""""""""""___/ ===
  ~~~ {~~ ~~~~ ~~~ ~~~~ ~~ ~ /  ===- ~~~
       \______ o          __/
        \    \        __/
          \____\______/
✨ 查看解决方案并练习

总结

在这个挑战中,你通过创建一个使用环境变量进行配置的镜像,扩展了你的 Docker 技能。你学会了如何:

  1. 在 Dockerfile 中使用环境变量来设置默认值。
  2. 创建一个简单的 shell 脚本作为容器的入口点。
  3. 在运行容器时覆盖环境变量。

这些技能对于创建灵活、可配置的 Docker 镜像至关重要,这些镜像可以适应不同的环境或用例。在你继续 Docker 之旅时,请记住,环境变量是一个强大的工具,可以让你的容器在不同的部署场景中更加通用且易于管理。继续探索,祝你鲸鱼说话愉快!