问题标签 [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.
docker - Docker Standard_init_linux.go:207: exec 用户进程导致“没有这样的文件或目录”
我的 Dockerfile 看起来像:
我的可执行文件app
只是 bash 脚本:
当我尝试跑步时
我收到以下错误:
我应该怎么办?
python-3.x - 进入点后进入容器提示的命令
可以在 Dockerfile 底部添加什么命令以在 ENNTRYPOINT 之后进入容器提示符?Dockerfile 运行正常。只是它从执行它的地方回到提示。
docker - 是否可以在 kubectl 云构建器中指定入口点?
使用docker cloud builder我可以指定一个入口点,bash
或者sh
像这样:
cloudbuild.yaml
但是无论我在kubectl cloud builder中指定什么 shell 程序(bash
或sh
),我都会在 cloudbuild 中收到以下错误:entrypoint
这是配置:
cloudbuild.yaml
我错过了什么吗?为什么我无法指定入口点?我每次自己都需要使用另一个构建器并安装 kubectl 吗?
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!?
docker - 将参数添加到不同容器的入口点/cmd
我有这个简单的 node.js 图像:
最终,我只想能够node dist/main.js
像这样传递不同的参数:
这样运行时的可执行文件是
我已阅读有关 CMD / ENTRYPOINT 的信息,但我不知道该怎么做,有人知道吗?
mongodb - MongoDB docker-entrypoint 问题
MongoDB docker-entrypoint 忽略用于创建用户和数据库的自定义脚本。我试过很多方法。这是我的配置之一。
解决方案 1
docker-compose.yml(版本 1)
网络:mynet:
dockerfile
解决方案 2
docker-compose.yml(版本 2)
网络:mynet:
dockerfile
这是我的初始化脚本:
mongo-init.sh
有谁知道如何运行初始化脚本。
先感谢您。
mysql - 如何在每次 MySQL 初始化时运行 SQL 脚本?
我想在 MySQL 初始化时运行一个 SQL 脚本。这个脚本基本上有一些更新命令,并且在每次初始化时运行。基本上,想法是在每次初始化时更新 Root 和 User 密码,并使用每次数据库启动时获得的保管库凭据。MySQL 数据库部署在 Docker 容器中。
在这种情况下,有没有办法预设一个 SQL 脚本,可以在 Docker 容器内的每个数据库初始化时运行?如果是这样,请给我们一个如何实施的例子。我确实使用 docker-entrypoint.sh 和 foreground.sh 在此类容器中进行一些自定义。
docker - Docker容器依赖
我有容器 A,它依赖于容器 B 下载的数据。
为了实现这种依赖,我尝试在 docker-compose 中使用depends_on,虽然它确保容器B在A之前启动,但下载可能仍在进行中。
有没有办法在容器 A 的入口点中指定一个条件,它必须等到容器 B 完成下载?
java - 如何在 docker 入口点之前透明地运行脚本?
我在 cloudformation 模板中的 docker 容器中自动部署 java 应用程序。我需要为 java 崩溃日志设置一个 env 变量,但我需要保持每个容器的路径唯一。我无法修改 docker 映像或 dockerfile。
为此,我使用来自 docker 容器的 $HOSTNAME ,它足够独特。问题是我不能像往常一样使用 docker 环境变量,因为它是在容器启动后设置的。解决方法是通过设置 env 变量来更改入口点,然后启动原始入口点。
(它是 AWS::ECS::TaskDefinition 的 cloudformation YAML 模板,但同样的东西可以在 docker cli 中表达)
在 Java 容器提供程序更改入口点 shell 脚本的位置之前,它运行良好。现在,shell 注入在代码中看起来真的很脏,因为我需要检查文件是否存在并且需要更多维护(即,以防入口点路径或文件名再次更改)。
有没有更好的方法:
- 使用与修改入口点不同的方法动态设置具有容器名称的路径;或者
- 只注入一个“导出”命令并运行原始入口点,无论名称和路径是什么?
docker - 如何在一个 Github Actions Docker 中运行多个命令
一个运行多个命令的正确方法是action
什么?
例如:
我想将 python 脚本作为action
. 在运行此脚本之前,我需要安装requirements.txt
.
我可以想到几个选择:
Dockerfile
使用其中的命令创建一个RUN pip install -r requirements.txt
。- 使用
python:3
图像,并在运行in中的参数之前运行pip install -r requirements.txt
in文件。entrypoint.sh
args
main.workflow
- 同时使用
pip install
和python myscript.py
作为args
另一个例子:
我想运行一个存在于我的存储库中的脚本,然后比较 2 个文件(它的输出和一个已经存在的文件)。
这是一个包含两个命令的过程,而在第一个示例中,该pip install
命令可以被视为构建命令而不是测试命令。
问题:
我可以为另一个命令创建另一个 Docker,它将包含以前 Docker 的输出吗?
我正在寻找命令在 in Dockerfile
、 inentrypoint
或 in 中的位置指南args
。