• class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="2"> class="hljs-ln-code"> class="hljs-ln-line">2This message shows that your Docker installation is working correctly.
  • class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="3"> class="hljs-ln-code"> class="hljs-ln-line">3
  • class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="4"> class="hljs-ln-code"> class="hljs-ln-line">4To generate another greeting, customize the Dockerfile and rebuild the image.
  • class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="5"> class="hljs-ln-code"> class="hljs-ln-line">5
  • class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="6"> class="hljs-ln-code"> class="hljs-ln-line">6...
  • class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}" onclick="hljs.signin(event)">

    方法二:创建自定义的 Dockerfile

    如果你想从头开始创建一个镜像,并且让这个镜像在运行时输出 "Hello, World!",你可以按照以下步骤操作:

    步骤 1:创建 Dockerfile

    创建一个名为 Dockerfile 的文件,并在其中写入以下内容:

     

    dockerfile

    深色版本

    1. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="1"> class="hljs-ln-code"> class="hljs-ln-line">1# 使用基础镜像
    2. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="2"> class="hljs-ln-code"> class="hljs-ln-line">2FROM alpine:latest
    3. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="3"> class="hljs-ln-code"> class="hljs-ln-line">3
    4. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="4"> class="hljs-ln-code"> class="hljs-ln-line">4# 设置工作目录
    5. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="5"> class="hljs-ln-code"> class="hljs-ln-line">5WORKDIR /app
    6. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="6"> class="hljs-ln-code"> class="hljs-ln-line">6
    7. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="7"> class="hljs-ln-code"> class="hljs-ln-line">7# 添加脚本文件
    8. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="8"> class="hljs-ln-code"> class="hljs-ln-line">8COPY hello-world.sh /app/hello-world.sh
    9. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="9"> class="hljs-ln-code"> class="hljs-ln-line">9
    10. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="10"> class="hljs-ln-code"> class="hljs-ln-line">10# 设置执行权限
    11. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="11"> class="hljs-ln-code"> class="hljs-ln-line">11RUN chmod +x /app/hello-world.sh
    12. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="12"> class="hljs-ln-code"> class="hljs-ln-line">12
    13. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="13"> class="hljs-ln-code"> class="hljs-ln-line">13# 设置容器启动命令
    14. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="14"> class="hljs-ln-code"> class="hljs-ln-line">14CMD ["/app/hello-world.sh"]
    class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}" onclick="hljs.signin(event)">

    步骤 2:创建脚本文件 hello-world.sh

    在同一目录下创建一个名为 hello-world.sh 的脚本文件,并在其中写入以下内容:

     

    bash

    深色版本

    1. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="1"> class="hljs-ln-code"> class="hljs-ln-line">1#!/bin/sh
    2. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="2"> class="hljs-ln-code"> class="hljs-ln-line">2echo "Hello, World!"
    class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}" onclick="hljs.signin(event)">

    步骤 3:构建 Docker 镜像

    在包含 Dockerfilehello-world.sh 的目录中运行以下命令来构建镜像:

     

    bash

    深色版本

    1docker build -t my-hello-world . class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}" onclick="hljs.signin(event)">

    这里的 -t 选项用于给镜像指定一个标签名(tag),. 表示当前目录为构建上下文。

    步骤 4:运行 Docker 容器

    构建完成后,使用以下命令来运行容器:

     

    bash

    深色版本

    1docker run my-hello-world class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}" onclick="hljs.signin(event)">

    这将输出:

     

    深色版本

    1Hello, World! class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}" onclick="hljs.signin(event)">

    总结

    以上两种方法都可以实现使用 docker run 命令在容器内运行一个应用程序并输出 "Hello, World!"。第一种方法简单快捷,适合快速测试;第二种方法则提供了更多的灵活性,可以根据具体需求定制镜像和应用程序的行为。希望这些示例能帮助你更好地理解和使用 Docker。

     

    目录

    方法一:使用现有的镜像

    步骤 1:拉取 hello-world 镜像

    步骤 2:运行 hello-world 镜像

    方法二:创建自定义的 Dockerfile

    步骤 1:创建 Dockerfile

    步骤 2:创建脚本文件 hello-world.sh

    步骤 3:构建 Docker 镜像

    步骤 4:运行 Docker 容器

    总结


     

    要使用 docker run 命令在容器内运行一个应用程序并输出 "Hello, World!",你可以使用现有的镜像或者创建一个自定义的 Dockerfile 来构建一个新的镜像。这里我们将展示两种方法:

    方法一:使用现有的镜像

    有一些镜像已经预先配置好了可以输出 "Hello, World!" 的信息。最简单的方法是使用 hello-world 镜像。

    步骤 1:拉取 hello-world 镜像

     

    bash

    深色版本

    1docker pull hello-world class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}" onclick="hljs.signin(event)">

    步骤 2:运行 hello-world 镜像

     

    bash

    深色版本

    1docker run hello-world class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}" onclick="hljs.signin(event)">

    这将下载并运行 hello-world 镜像,并输出类似的信息:

     

    深色版本

    1. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="1"> class="hljs-ln-code"> class="hljs-ln-line">1Hello from Docker!
    2. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="2"> class="hljs-ln-code"> class="hljs-ln-line">2This message shows that your Docker installation is working correctly.
    3. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="3"> class="hljs-ln-code"> class="hljs-ln-line">3
    4. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="4"> class="hljs-ln-code"> class="hljs-ln-line">4To generate another greeting, customize the Dockerfile and rebuild the image.
    5. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="5"> class="hljs-ln-code"> class="hljs-ln-line">5
    6. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="6"> class="hljs-ln-code"> class="hljs-ln-line">6...
    class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}" onclick="hljs.signin(event)">

    方法二:创建自定义的 Dockerfile

    如果你想从头开始创建一个镜像,并且让这个镜像在运行时输出 "Hello, World!",你可以按照以下步骤操作:

    步骤 1:创建 Dockerfile

    创建一个名为 Dockerfile 的文件,并在其中写入以下内容:

     

    dockerfile

    深色版本

    1. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="1"> class="hljs-ln-code"> class="hljs-ln-line">1# 使用基础镜像
    2. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="2"> class="hljs-ln-code"> class="hljs-ln-line">2FROM alpine:latest
    3. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="3"> class="hljs-ln-code"> class="hljs-ln-line">3
    4. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="4"> class="hljs-ln-code"> class="hljs-ln-line">4# 设置工作目录
    5. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="5"> class="hljs-ln-code"> class="hljs-ln-line">5WORKDIR /app
    6. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="6"> class="hljs-ln-code"> class="hljs-ln-line">6
    7. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="7"> class="hljs-ln-code"> class="hljs-ln-line">7# 添加脚本文件
    8. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="8"> class="hljs-ln-code"> class="hljs-ln-line">8COPY hello-world.sh /app/hello-world.sh
    9. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="9"> class="hljs-ln-code"> class="hljs-ln-line">9
    10. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="10"> class="hljs-ln-code"> class="hljs-ln-line">10# 设置执行权限
    11. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="11"> class="hljs-ln-code"> class="hljs-ln-line">11RUN chmod +x /app/hello-world.sh
    12. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="12"> class="hljs-ln-code"> class="hljs-ln-line">12
    13. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="13"> class="hljs-ln-code"> class="hljs-ln-line">13# 设置容器启动命令
    14. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="14"> class="hljs-ln-code"> class="hljs-ln-line">14CMD ["/app/hello-world.sh"]
    class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}" onclick="hljs.signin(event)">

    步骤 2:创建脚本文件 hello-world.sh

    在同一目录下创建一个名为 hello-world.sh 的脚本文件,并在其中写入以下内容:

     

    bash

    深色版本

    1. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="1"> class="hljs-ln-code"> class="hljs-ln-line">1#!/bin/sh
    2. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="2"> class="hljs-ln-code"> class="hljs-ln-line">2echo "Hello, World!"
    class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}" onclick="hljs.signin(event)">

    步骤 3:构建 Docker 镜像

    在包含 Dockerfilehello-world.sh 的目录中运行以下命令来构建镜像:

     

    bash

    深色版本

    1docker build -t my-hello-world . class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}" onclick="hljs.signin(event)">

    这里的 -t 选项用于给镜像指定一个标签名(tag),. 表示当前目录为构建上下文。

    步骤 4:运行 Docker 容器

    构建完成后,使用以下命令来运行容器:

     

    bash

    深色版本

    1docker run my-hello-world class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}" onclick="hljs.signin(event)">

    这将输出:

     

    深色版本

    1Hello, World! class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}" onclick="hljs.signin(event)">

    总结

    以上两种方法都可以实现使用 docker run 命令在容器内运行一个应用程序并输出 "Hello, World!"。第一种方法简单快捷,适合快速测试;第二种方法则提供了更多的灵活性,可以根据具体需求定制镜像和应用程序的行为。希望这些示例能帮助你更好地理解和使用 Docker。

     

    注:本文转载自blog.csdn.net的半颗心脏的文章"https://blog.csdn.net/xh870189248/article/details/112002909"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
    复制链接

    评论记录:

    未查询到任何数据!