问题标签 [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.
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
谢谢。
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 一样:
这将永远持续下去。我无法向控制台应用程序插入任何命令。
为什么会这样?我应该怎么做才能防止这种情况发生?
docker - 当入口点在 docker run 上回显时,为什么未设置 env 变量?
为什么作为入口点运行的命令看不到环境变量?
例子:
但是当我启动 shell 时,环境变量就在那里:
为什么在使用echo
as 入口点的第一种情况下它没有找到 env 变量集?
docker - 无法将文件作为参数发送到 python 文件 docker
我正在为 Windows 使用 Docker。我正在尝试发送一个 csv 文件作为 python 文件的输入,作为 docker run 的参数。python 文件接受一个文件作为输入,可以从以下代码片段中看出。
dockerfile 如下所示。
我正在将主机文件夹安装到 docker 中的卷,然后将输入文件作为参数提及,但出现错误
操作系统错误:找不到 file.csv。
我用来发送输入的命令如下(在powershell中)
C:/folder 包含 npdata.csv 文件,我将其挂载到 /home/changepoint,但我不确定挂载是否成功,因为我收到找不到文件的错误。
我该如何解决这个问题?
docker - 在针对不同可执行文件的 Dockerfile 中结合 ENTRYPOINT 和 CMD
我有一个定义 ENTRYPOINT 的dotnet
Dockerfile。另外,我有一个程序被配置为在supervisor
(带有supervisord.conf
定义)下运行。当容器运行时,我需要启动主管服务并将几个参数传递给 ENTRYPOINT 可执行文件。我不能结合 ENTRYPOINT 和 CMD,因为 CMD 参数与 ENTRYPOINT 无关。我还想保留 ENTRYPOINT 以明确让容器包装dotnet
执行。关于如何实现这一点的任何想法?
我知道我的方案完全有效,因为我可以附加到正在运行的容器然后启动supervisor
服务。
docker - Docker:使用自定义退出代码退出
我有以下 Docker cmd:
当我运行上面的命令时,我想预先检查“/Users/john/db/”文件夹路径是否已经存在。如果它不存在,那么我想抛出一个自定义退出代码并停止容器启动。
这个怎么做?
如果我编写一个将在容器启动之前运行的入口点脚本,我将如何访问 -v 参数?表示入口点 bash/python 脚本中的“/Users/john/db/”?
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 中删除入口点命令,它工作得很好。我无法找出错误。任何帮助表示赞赏。
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
任何想法 ?
ruby-on-rails - Docker-compose 入口点脚本使用出口 0 停止容器
执行我的入口点脚本后,容器以 Exit 0 停止。在启动我们的网络服务器的 compose 文件中指定的命令被忽略。
我们使用 docker 和 docker-compose 作为 Rails 应用程序的环境。
入口点脚本:
撰写文件:
当我在入口点脚本运行时连接到容器时,我可以看到执行的命令以ps aux
as运行/bin/bash /app/rails-entrypoint.sh bundle exec rails server
。
当我将命令块添加到入口点脚本时,服务器已启动并正在运行,但这也不是它应该如何工作或者?
我该怎么做才能让入口点脚本和命令块正常运行?
postgresql - postgresql:dockerfile 从入口点脚本创建用户和数据库
我有一个 Dockerfile
其中 docker-entrypoint.sh 是:
它不会创建 someuser 和 dockertest 数据库。这该怎么做