草庐IT

$Entrypoint

全部标签

shell - 重用继承图像的 CMD 或 ENTRYPOINT

如何在容器启动/重启/附加时包含我自己的shell脚本CMD,而不删除继承图像使用的CMD?我正在使用它,它确实可以很好地执行我的脚本,但似乎覆盖了PHPCMD:FROMphpCOPYstart.sh/usr/local/binCMD["/usr/local/bin/start.sh"]我应该做些什么不同的事情?我正在避免复制/粘贴父图像的ENTRYPOINT或CMD,这可能不是一个好方法。 最佳答案 正如评论中提到的,没有内置的解决方案。从Dockerfile中,您看不到当前CMD或ENTRYPOINT的值。如果您控制上游基础镜像

docker - 如何让我的 Docker compose "wait-for-it"脚本调用原始容器 ENTRYPOINT 或 CMD?

根据ControllingstartuporderinCompose,可以控制DockerCompose的顺序使用“wait-for-it”脚本启动容器。脚本wait-for-it.sh需要host:port参数以及当端口可用时脚本应该执行的命令。文档建议DockerCompose使用entrypoint:选项调用此脚本。但是,如果使用此选项,容器将不再运行其默认的ENTRYPOINT或CMD,因为entrypoint:会覆盖默认值。如何将这个默认命令提供给wait-for-it.sh以便脚本可以调用默认的ENTRYPOINT或CMD它等待的条件何时满足?在我的例子中,我实现了一个脚本

docker - 如何让我的 Docker compose "wait-for-it"脚本调用原始容器 ENTRYPOINT 或 CMD?

根据ControllingstartuporderinCompose,可以控制DockerCompose的顺序使用“wait-for-it”脚本启动容器。脚本wait-for-it.sh需要host:port参数以及当端口可用时脚本应该执行的命令。文档建议DockerCompose使用entrypoint:选项调用此脚本。但是,如果使用此选项,容器将不再运行其默认的ENTRYPOINT或CMD,因为entrypoint:会覆盖默认值。如何将这个默认命令提供给wait-for-it.sh以便脚本可以调用默认的ENTRYPOINT或CMD它等待的条件何时满足?在我的例子中,我实现了一个脚本

docker - 为什么我的 docker-entrypoint.sh 不执行?

我的ENTRYPOINT脚本没有执行并抛出standard_init_linux.go:175:exec用户进程导致“没有这样的文件或目录”。为什么会这样?不工作$dockerbuild-tgilani/trollo.&&dockerrungilani/trolloSendingbuildcontexttoDockerdaemon126kBStep1:FROMvault:latest--->1f127f53f8b5Step2:MAINTAINERAminShahGilani--->Usingcache--->86b885ca1c81Step3:COPYvaultConfig.json/

docker - 为什么我的 docker-entrypoint.sh 不执行?

我的ENTRYPOINT脚本没有执行并抛出standard_init_linux.go:175:exec用户进程导致“没有这样的文件或目录”。为什么会这样?不工作$dockerbuild-tgilani/trollo.&&dockerrungilani/trolloSendingbuildcontexttoDockerdaemon126kBStep1:FROMvault:latest--->1f127f53f8b5Step2:MAINTAINERAminShahGilani--->Usingcache--->86b885ca1c81Step3:COPYvaultConfig.json/

docker - 如何在 ENTRYPOINT 数组中使用 Docker 环境变量?

如果我设置了一个环境变量,比如ENVADDRESSEE=world,我想在入口点脚本中使用它并连接成一个固定的字符串,例如:ENTRYPOINT["./greeting","--message","Hello,world!"]world是环境变量的值,我该怎么做?我尝试使用"Hello,$ADDRESSEE"但这似乎不起作用,因为它需要$ADDRESSEE字面意思。 最佳答案 您正在使用ENTRYPOINT的执行形式。与shell形式不同,exec形式不调用命令shell。这意味着不会发生正常的外壳处理。例如,ENTRYPOINT[

docker - 如何在 ENTRYPOINT 数组中使用 Docker 环境变量?

如果我设置了一个环境变量,比如ENVADDRESSEE=world,我想在入口点脚本中使用它并连接成一个固定的字符串,例如:ENTRYPOINT["./greeting","--message","Hello,world!"]world是环境变量的值,我该怎么做?我尝试使用"Hello,$ADDRESSEE"但这似乎不起作用,因为它需要$ADDRESSEE字面意思。 最佳答案 您正在使用ENTRYPOINT的执行形式。与shell形式不同,exec形式不调用命令shell。这意味着不会发生正常的外壳处理。例如,ENTRYPOINT[

python - docker -py : Accessing output of python script run in ENTRYPOINT command

我在使用Python中的docker-py模块获取在docker容器中运行的Python脚本的输出时遇到问题。首先,一些背景:我已经创建了一个Dockerfile并通过命令行(dockerbuild-tmyimage/path/to/dockerfile)以正常方式构建了我的图像(id为84730be6107f)。Python脚本作为Dockerfile中的ENTRYPOINT命令执行:ENTRYPOINT["python","/cont_dirpath/script.py"]包含脚本的目录在运行时被添加(绑定(bind))到容器中。当我通过常用的docker命令行(在Ubuntu中)

node.js - Docker - 从基础镜像中覆盖或删除 ENTRYPOINT

我正在使用Docker(版本1.12.2,构建bb80604)通过Gatling(负载测试工具)+NodeJS设置一个简单的图像/容器。所以,我拉了thisDocker/Gatlingbaseimage并创建了我自己的Dockerfile来在上面安装NodeJS。但是,上面的Docker/Gatling基础镜像已经定义了一个ENTRYPOINT来直接调用Gatling,然后自动退出容器。它看起来像这样:ENTRYPOINT["gatling.sh"]我想要实现的是:我想运行第二个命令(我自己的NodeJS脚本来解析测试结果),但是到目前为止我找不到解决方案(我尝试覆盖ENTRYPOIN

python - 带有 ENV 变量和可选参数的 Docker ENTRYPOINT

我有一个带有使用ENV变量的ENTRYPOINT的Dockerfile。我无法将ENTRYPOINT结构化,因此容器还可以接受其他命令行参数。以下是Dockerfile的相关部分:ARGMODULE_NAMEENVMODULE_NAME=$MODULE_NAMEENTRYPOINT/usr/bin/python3-m${MODULE_NAME}如果我只想在没有额外参数的情况下启动容器,那效果很好:dockerrunmy-image但我需要能够将额外的命令行参数(例如,“--debug”标志)传递给python进程,如下所示:dockerrunmy-image--debug使用上面的EN