了解 Docker 中的入口点标志
我们在 docker run
命令中使用入口点 (--entrypoint) 标志来指定启动 Docker 容器时要执行的命令。 该标志允许我们自定义容器的行为并确定 Docker 将预先运行的命令。
本文将概述入口点指令以及 Docker 在运行 docker run
命令时使用它。
了解入口点指令
默认情况下,Docker 容器的入口点是用于构建映像的 Dockerfile 中的 CMD 指令。 CMD 指令指定了 Docker 在启动容器时执行的默认命令。
例如,以下 Dockerfile 将图像的默认入口点定义为 echo 命令。
FROM ubuntu:18.04
CMD ["echo", "Hello, World!"]
我们可以使用 docker build
和 docker run
命令来构建镜像并运行基于镜像的容器。
示例代码:
docker build -t my-image .
docker run my-image
在此示例中,docker run
命令将基于 my-image 映像启动一个容器,并执行 echo 命令作为容器的入口点。 上面的命令将打印“Hello, World!” 消息到控制台。
但是,如果我们想为容器指定一个不同的入口点,我们可以在运行 docker run 命令时使用 --entrypoint 选项。
示例代码:
docker run --entrypoint /bin/sh my-image:latest
使用入口点标志传递参数
在此命令中,**--entrypoint** 选项将容器的入口点指定为 /bin/sh
命令。 此命令会覆盖 Dockerfile 中指定的默认入口点。
当 Docker 启动容器而不是 Dockerfile 中定义的 CMD 时,它会导致 /bin/sh 执行命令。
除了指定容器的入口点外,我们还可以使用入口点标志将参数传递给入口点命令。
示例代码:
docker run --entrypoint /bin/sh my-image:latest -c
docker run --entrypoint
命令使用以下语法。
docker run --entrypoint <entrypoint.sh> <image:tag> <arg1> <arg2> <arg3>
总结
我们使用 --entrypoint 标志执行命令,以帮助在启动的容器上指定默认命令 shell。 Docker 使用它来自定义容器的行为并在首次使用时运行特定的命令或脚本。
在生产环境中运行容器时,此标志会很方便,您可能希望确保容器始终启动并执行特定命令。
相关文章
在 Linux 中托管 Docker Internal
发布时间:2023/04/18 浏览次数:139 分类:Docker
-
Docker 允许开发人员通过将应用程序包装在称为容器的标准化单元中来高效地构建、测试和部署应用程序。 在使用 Docker 容器时,您可能会遇到需要将容器与主机连接的场景。
在 Docker 中设置工作目录
发布时间:2023/04/18 浏览次数:82 分类:Docker
-
在 Docker 中,我们可以通过编辑 Dockerfile 并添加密钥 WORKDIR 来设置我们的工作目录。本文将讨论在 Docker 中更改我们当前和默认的工作目录。
在 Docker 容器中公开多个端口
发布时间:2023/04/18 浏览次数:143 分类:Docker
-
Docker 容器使用端口来实现万维网上不同设备之间的通信。 在本篇文章中,我们将学习如何使用 Nginx 应用程序在 Docker 容器中公开多个端口。
将用户添加到 Docker 容器
发布时间:2023/04/18 浏览次数:187 分类:Docker
-
在本文中,我们将学习如何通过实现返回产品数组的 Express 应用程序将用户添加到 Docker 容器。
使用 Docker 网络主机命令
发布时间:2023/04/18 浏览次数:112 分类:Docker
-
在本文中,我们将学习如何使用 --network 命令将容器添加到主机网络。 如果我们不使用此命令指定网络,我们还将了解如何将容器添加到默认网络。
清除 Docker 容器日志
发布时间:2023/04/18 浏览次数:181 分类:Docker
-
本文介绍了我们可以用来清除 docker 容器中日志的不同方法。日志是应用程序在特定事件或状态发生时记录的信息,它们帮助我们监控应用程序并采取必要的措施。
Dockerfile 中 COPY 和 ADD 命令的区别
发布时间:2023/04/18 浏览次数:158 分类:Docker
-
在 Dockerfile 中,我们可以使用 COPY 或 ADD 命令复制这些文件。 这些命令在功能上是相同的; 但是,存在一些差异。本文介绍了 Dockerfile 中 COPY 和 ADD 命令之间的区别。