问题标签 [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 投票
1 回答
8019 浏览

docker - Docker Standard_init_linux.go:207: exec 用户进程导致“没有这样的文件或目录”

我的 Dockerfile 看起来像:

我的可执行文件app只是 bash 脚本:

当我尝试跑步时

我收到以下错误:

我应该怎么办?

0 投票
2 回答
1194 浏览

python-3.x - 进入点后进入容器提示的命令

可以在 Dockerfile 底部添加什么命令以在 ENNTRYPOINT 之后进入容器提示符?Dockerfile 运行正常。只是它从执行它的地方回到提示。

0 投票
0 回答
385 浏览

docker - 是否可以在 kubectl 云构建器中指定入口点?

使用docker cloud builder我可以指定一个入口点,bash或者sh像这样:

cloudbuild.yaml


但是无论我在kubectl cloud builder中指定什么 shell 程序(bashsh),我都会在 cloudbuild 中收到以下错误:entrypoint

这是配置:

cloudbuild.yaml

我错过了什么吗?为什么我无法指定入口点?我每次自己都需要使用另一个构建器并安装 kubectl 吗?

0 投票
2 回答
1629 浏览

mongodb - Add Root password and create Application User on MongoDB Docker container on startup

everyone,

I'm having a hard time setting up a MongoDB container to have root password and creating a new user with less privileges (that will be my application user) automatically.

Ideally I should have only some scripts and a docker-compose configuration.

I tried adding the MONGO_INITDB_ROOT_USERNAME and MONGO_INITDB_ROOT_PASSWORD but they don't seem to work. They do something, because when I start the container like that, I can't just connect to the mongo shell and run all the commands (and passing username and password will throw unauthorized errors).

Then I thought about adding a script at /docker-entrypoint-initdb.d/ but they dont seem to run. They don't show on console. Besides, i just put a javascript like this and I am not sure whether they will work:

I would also want to create collections and insert documents. How do we do that? Shouldn't it be with entrypoints!?

0 投票
2 回答
219 浏览

docker - 将参数添加到不同容器的入口点/cmd

我有这个简单的 node.js 图像:

最终,我只想能够node dist/main.js像这样传递不同的参数:

这样运行时的可执行文件是

我已阅读有关 CMD / ENTRYPOINT 的信息,但我不知道该怎么做,有人知道吗?

0 投票
1 回答
1125 浏览

mongodb - MongoDB docker-entrypoint 问题

MongoDB docker-entrypoint 忽略用于创建用户和数据库的自定义脚本。我试过很多方法。这是我的配置之一。

解决方案 1

docker-compose.yml(版本 1)

网络:mynet:

dockerfile

解决方案 2

docker-compose.yml(版本 2)

网络:mynet:

dockerfile

这是我的初始化脚本:

mongo-init.sh

有谁知道如何运行初始化脚本。

先感谢您。

0 投票
1 回答
3279 浏览

mysql - 如何在每次 MySQL 初始化时运行 SQL 脚本?

我想在 MySQL 初始化时运行一个 SQL 脚本。这个脚本基本上有一些更新命令,并且在每次初始化时运行。基本上,想法是在每次初始化时更新 Root 和 User 密码,并使用每次数据库启动时获得的保管库凭据。MySQL 数据库部署在 Docker 容器中。

在这种情况下,有没有办法预设一个 SQL 脚本,可以在 Docker 容器内的每个数据库初始化时运行?如果是这样,请给我们一个如何实施的例子。我确实使用 docker-entrypoint.sh 和 foreground.sh 在此类容器中进行一些自定义。

0 投票
2 回答
1402 浏览

docker - Docker容器依赖

我有容器 A,它依赖于容器 B 下载的数据。

为了实现这种依赖,我尝试在 docker-compose 中使用depends_on,虽然它确保容器B在A之前启动,但下载可能仍在进行中。

有没有办法在容器 A 的入口点中指定一个条件,它必须等到容器 B 完成下载?

0 投票
1 回答
506 浏览

java - 如何在 docker 入口点之前透明地运行脚本?

我在 cloudformation 模板中的 docker 容器中自动部署 java 应用程序。我需要为 java 崩溃日志设置一个 env 变量,但我需要保持每个容器的路径唯一。我无法修改 docker 映像或 dockerfile。

为此,我使用来自 docker 容器的 $HOSTNAME ,它足够独特。问题是我不能像往常一样使用 docker 环境变量,因为它是在容器启动后设置的。解决方法是通过设置 env 变量来更改入口点,然后启动原始入口点。

(它是 AWS::ECS::TaskDefinition 的 cloudformation YAML 模板,但同样的东西可以在 docker cli 中表达)

在 Java 容器提供程序更改入口点 shell 脚本的位置之前,它运行良好。现在,shell 注入在代码中看起来真的很脏,因为我需要检查文件是否存在并且需要更多维护(即,以防入口点路径或文件名再次更改)。

有没有更好的方法:

  1. 使用与修改入口点不同的方法动态设置具有容器名称的路径;或者
  2. 只注入一个“导出”命令并运行原始入口点,无论名称和路径是什么?
0 投票
1 回答
42880 浏览

docker - 如何在一个 Github Actions Docker 中运行多个命令

一个运行多个命令的正确方法是action什么?

例如:

我想将 python 脚本作为action. 在运行此脚本之前,我需要安装requirements.txt.

我可以想到几个选择:

  • Dockerfile使用其中的命令创建一个RUN pip install -r requirements.txt
  • 使用python:3图像,并在运行in中的参数之前运行pip install -r requirements.txtin文件。entrypoint.shargsmain.workflow
  • 同时使用pip installpython myscript.py作为args

另一个例子:

我想运行一个存在于我的存储库中的脚本,然后比较 2 个文件(它的输出和一个已经存在的文件)。

这是一个包含两个命令的过程,而在第一个示例中,该pip install命令可以被视为构建命令而不是测试命令。

问题:

我可以为另一个命令创建另一个 Docker,它将包含以前 Docker 的输出吗?

我正在寻找命令在 in Dockerfile、 inentrypoint或 in 中的位置指南args