问题标签 [docker-entrypoint]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
192 浏览

docker - 具有运行时参数的 Dockerfile 入口点未按预期工作

我对 Docker 很陌生,我正在尝试 Dockerize 一个难以在不同平台上运行的特定工具。出于某种原因,ENTRYPOINT 和 CMD 命令没有像我预期的那样工作。

令我困惑的是,当我从容器内部运行脚本时,脚本可以工作,但是当我运行我认为传递运行时参数的完全相同的东西时,我得到的响应与脚本完全不同。我希望他们是一样的。

这是我的 Dockerfile

当我从 dockerfile 中删除入口点和 cmd 然后运行:

我在容器里。然后我运行:

它开始告诉我在 IP 22.22.22.22 上打开了哪些端口,这是这个工具应该做的。

现在,我添加入口点和 cmd 命令,重新构建,然后运行

现在我从工具中得到这个输出:

每次我重复这个过程都会发生同样的事情,所以我的问题是,为什么?这两个命令有什么区别。我的印象是它们完全一样。

0 投票
1 回答
738 浏览

ruby-on-rails - 使用 Dokku 部署 Rails API 时 Procfile 错误

我目前正在尝试在 Dokku 上部署我的 Rails API,我一直遇到这个错误,上面写着“Proc 入口点 [procname] 不存在。请检查你的 Procfile”。我不确定问题是什么以及如何设置入口点,我已经尝试过全面搜索并且无法找到正在实施的示例。

这是我尝试推送到 dokku master 时的完整日志:

0 投票
1 回答
151 浏览

docker - 在 docker 的 entrypoint.sh 中访问敏感的用户凭据

尝试创建一些Airflow连接并执行文件中的命令,该entrypoint.sh文件作为dockerfile. 由于这些数据库凭据非常敏感,我们是否有可能将它们安全地存储在或基于 的kubernetes任何其他位置,或者我们将它们填充到?GCPlocalstagingproductionentrypoint.sh

0 投票
2 回答
545 浏览

docker - 如何覆盖/发现基本映像的 CMD/ENTRYPOINT

说我有这个:

如果我不使用CMDCMD默认为基础图像中设置的值?我会在基础镜像中使用ENTRYPOINT覆盖吗?ENTRYPOINT我会在基础镜像中使用CMD覆盖吗?CMD

基本上我的目标是覆盖基本图像的入口点,但能够发现/重用 CMD,这样我的docker-entrypoint.sh文件将如下所示:

其中 "$@" 将默认为基础映像中的 CMD。

0 投票
1 回答
294 浏览

powershell - 通过 shell 执行 Entrypoint 的 exec 表单

我正在构建一个基于 Windows 的 docker 映像:

基本映像将外壳设置为Powershell

我的理解是,当使用指令的 exec 形式时ENTRYPOINT,该命令将在没有 shell 的情况下执行。但是,当我创建容器时,它会失败并出现以下错误:

当我检查停止的容器时,我看到执行的命令是通过 shell:

我在这里误解了什么吗?

0 投票
3 回答
2607 浏览

python - 如何在启动时在 docker 容器上运行多个命令?

我有Flask应用程序容器,它必须在端口5000上运行。

我还有一个与队列相关的后台进程。这个过程有一个无限循环,这就是我想在后台运行它的原因。

我正在使用 docker-compose.yml 文件来创建容器。目前,我只能运行一个命令来启动烧瓶服务器。

flask run --host=0.0.0.0 --port 5000. 我正在使用commanddocker-compose 中的选项。

这是我想在后台运行的命令python app/workload/services/queue_services.py > qlog.txt

当我将后台命令放在首位时command,服务器没有启动,我只看到后台脚本的输出。

当我flask run首先输入命令时,后台脚本根本没有启动。

是否有任何正确的方法可以在容器启动时运行这两个命令?

0 投票
3 回答
31801 浏览

docker - 入口点:“entrypoint.sh” - docker compose

entrypoint.sh我的工作区中没有按名称命名的此类文件。

但下面的说明docker-compose.yml是指它:


哪里../docker/dev/Dockerfile


实际上是做什么的entrypoint: "entrypoint.sh"

0 投票
1 回答
592 浏览

docker - Docker image fails to run process in foreground mode

I'm developing a docker image based on nvidia/cuda:10.1-base-ubuntu18.04. At build time a custom web server is installed and I have a docker-entrypoint.sh which runs the server depending if an env var is set at run time.

This all works fine if I run the container in interactive mode:

Or use the old "hack" to keep the image alive:

But when I follow the most recent answer from here:

The image appears to load successfully and is kept alive, but the server is not active.

Here's the abridged version of docker-entrypoint.sh:

And Dockerfile:

How can I debug what's happening since interactive mode works?

0 投票
3 回答
1225 浏览

docker - 如何在启动时将文件从主机复制到容器中?

我正在尝试使用 dockerfile 构建 docker 映像,我的目的是在运行“docker run”命令时将文件复制到特定文件夹中!

这是我的 dockerfile 代码:

在没有任何错误的情况下构建我的图像后(使用 docker build 命令),我尝试运行我的新图像:

我得到了这个错误:** cp:'MainClass.java'之后缺少目标文件操作数**

我该如何解决这个问题?谢谢

0 投票
1 回答
935 浏览

docker - 使用 Nginx Docker 容器运行初始化脚本的问题

我正在创建一个 Nginx docker 映像,我将在 AWS 的 ECS/Fargate 中将其用作反向代理组件。我使用官方 Nginx 镜像作为基础镜像(1.17.5)。

当容器启动时,我尝试从 ENTRYPOINT 运行 bash 脚本以访问 AWS Parameter Store 并检索证书信息。这工作正常,但是当我尝试添加一个参数以传递给 bash 脚本时(例如 ENTRYPOINT ["installcerts.sh", "AppName"] 它执行脚本但容器终止而没有错误。

我希望容器在参数化批处理脚本之后继续启动 Nginx。

这是我的 Docker 文件:

这是我的“installcerts.sh”脚本,显示了使用从 ENTRYPOINT 传入的参数。

bash 脚本中的 "exec "$@" 是必需的,但老实说,即使经过数小时的尝试追踪它,我也不完全理解它是如何或为什么起作用的。

短篇小说是:

如果我使用它,容器会执行我希望它执行的操作,但我无法将参数发送到 bash 脚本。

ENTRYPOINT ["/usr/local/bin/installcerts.sh"]

但是如果我使用它,脚本将成功运行 WITH 参数,但容器退出并且 Nginx 没有启动。

ENTRYPOINT ["/usr/local/bin/installcerts.sh", "AppName"]

我究竟做错了什么?