问题标签 [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 回答
801 浏览

mysql - docker-compose 在容器初始化时运行脚本

我是码头工人的新手。我在 Windows 7 机器上并使用 docker 工具箱。我正在尝试为 MySQL 编写一个 docker-compose.yml,它创建一个数据库并运行 2 个脚本(创建表并插入)

我可以连接到数据库,但我遇到的问题是运行脚本。大多数情况下我遇到以下错误:

mysql-image_1 | mysql: [警告] 在命令行界面上使用密码可能不安全。

mysql-image_1 | 错误:无法初始化 batch_readline - 可能输入源是目录或块设备。docker_mysql-image_1 以代码 1 退出

我搜索了一段时间,试图让它工作,但此时我不知道我做错了什么。这是我试图在 docker 容器启动时运行它的 .sql 脚本之一。createTablePerson.sql

谢谢。

0 投票
1 回答
59 浏览

docker - 带有控制台应用程序的 Docker 容器无限地插入命令

我有一个 Dockerfile 构建包含自定义控制台应用程序的图像:

my-console-app是一个简单的控制台应用程序,当它运行时,它通常为您提供插入命令的可能性。

例如

如果我使用上面的 Dockerfile 运行我构建的容器-d,一切都很好:

docker run --name my-app --network host -d myapp

使用网络我可以看到控制台应用程序正在正确运行。

但是,如果我在没有 的情况下运行它-d,例如:

docker run --name my-app --network host myapp

然后我的终端会发疯,就像有人不断按 ENTER 一样:

这将永远持续下去。我无法向控制台应用程序插入任何命令。

为什么会这样?我应该怎么做才能防止这种情况发生?

0 投票
1 回答
1064 浏览

docker - 当入口点在 docker run 上回显时,为什么未设置 env 变量?

为什么作为入口点运行的命令看不到环境变量?
例子:

但是当我启动 shell 时,环境变量就在那里:

为什么在使用echoas 入口点的第一种情况下它没有找到 env 变量集?

0 投票
0 回答
57 浏览

docker - 无法将文件作为参数发送到 python 文件 docker

我正在为 Windows 使用 Docker。我正在尝试发送一个 csv 文件作为 python 文件的输入,作为 docker run 的参数。python 文件接受一个文件作为输入,可以从以下代码片段中看出。

dockerfile 如下所示。

我正在将主机文件夹安装到 docker 中的卷,然后将输入文件作为参数提及,但出现错误

操作系统错误:找不到 file.csv。

我用来发送输入的命令如下(在powershell中)

C:/folder 包含 npdata.csv 文件,我将其挂载到 /home/changepoint,但我不确定挂载是否成功,因为我收到找不到文件的错误。

我该如何解决这个问题?

0 投票
1 回答
530 浏览

docker - 在针对不同可执行文件的 Dockerfile 中结合 ENTRYPOINT 和 CMD

我有一个定义 ENTRYPOINT 的dotnetDockerfile。另外,我有一个程序被配置为在supervisor(带有supervisord.conf定义)下运行。当容器运行时,我需要启动主管服务并将几个参数传递给 ENTRYPOINT 可执行文件。我不能结合 ENTRYPOINT 和 CMD,因为 CMD 参数与 ENTRYPOINT 无关。我还想保留 ENTRYPOINT 以明确让容器包装dotnet执行。关于如何实现这一点的任何想法?

我知道我的方案完全有效,因为我可以附加到正在运行的容器然后启动supervisor服务。

0 投票
0 回答
177 浏览

docker - Docker:使用自定义退出代码退出

我有以下 Docker cmd:

当我运行上面的命令时,我想预先检查“/Users/john/db/”文件夹路径是否已经存在。如果它不存在,那么我想抛出一个自定义退出代码并停止容器启动。

这个怎么做?

如果我编写一个将在容器启动之前运行的入口点脚本,我将如何访问 -v 参数?表示入口点 bash/python 脚本中的“/Users/john/db/”?

0 投票
2 回答
2831 浏览

docker - docker 容器在入口点退出

我正在尝试使用 docker run 命令通过 Dockerfile 运行 docker 容器。以下是我的 Dockerfile。

以下是我的切入点。

以下是我的 start.sh

我正在构建容器,docker build -t test .它构建得很好。但是当我尝试使用docker run --name test --env-file ./env test我的容器在["bash", "/docker-entrypoint.sh"]Dockerfile 的命令上退出运行这个容器时,没有任何错误/消息,但是如果我从 Dockerfile 中删除入口点命令,它工作得很好。我无法找出错误。任何帮助表示赞赏。

0 投票
1 回答
1879 浏览

ruby-on-rails - entrypoint.sh exec:@:未找到

我正在关注本教程:

https://docs.docker.com/compose/rails/

我想用 PostgreSQL 数据库(Dockerized)创建一个 Ruby On Rails API

但是当我跑步时

docker-compose run web rails new . --force --no-deps --api --database=postgresql

我懂了:

Creating soft-vape-db ... done /usr/bin/entrypoint.sh: line 8: exec: @: not found

入口点.sh

Dockerfile

码头工人-compose.yml

任何想法 ?

0 投票
2 回答
2462 浏览

ruby-on-rails - Docker-compose 入口点脚本使用出口 0 停止容器

执行我的入口点脚本后,容器以 Exit 0 停止。在启动我们的网络服务器的 compose 文件中指定的命令被忽略。

我们使用 docker 和 docker-compose 作为 Rails 应用程序的环境。

入口点脚本:

撰写文件:

当我在入口点脚本运行时连接到容器时,我可以看到执行的命令以ps auxas运行/bin/bash /app/rails-entrypoint.sh bundle exec rails server

当我将命令块添加到入口点脚本时,服务器已启动并正在运行,但这也不是它应该如何工作或者?

我该怎么做才能让入口点脚本和命令块正常运行?

0 投票
1 回答
9223 浏览

postgresql - postgresql:dockerfile 从入口点脚本创建用户和数据库

我有一个 Dockerfile

其中 docker-entrypoint.sh 是:

它不会创建 someuser 和 dockertest 数据库。这该怎么做