问题标签 [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.
bash - 构建后将 ENTRYPOINT 更改为容器
我有一个 Dockerfile,它的结尾是:
构建此容器后,我想运行它,但我不想执行此 bash 脚本 (run-tests.sh),而是想在容器内打开一个终端窗口来检查文件系统。
如果没有 ENTRYPOINT 行,我可以这样做:
我可以检查容器的文件。
但是,由于存在 ENTRYPOINT,因此该脚本将运行,我无法检查容器的文件。
我有什么办法可以进入容器窥探吗?
bash - 检查非守护程序 Docker 容器,在它完成运行后
我有一个创建的容器
因为它没有在分离模式下运行,我如何检查容器?我想要做的是防止容器“自动关闭”,以便在容器完成后检查容器的文件系统。
cdt-tests 的 Dockerfile 如下所示:
我知道要使用的技巧,覆盖入口点并检查容器,如下所示:
但是,这不适用于我当前的用例,因为我想在@run-tests.sh 完成后检查容器!
所以我有两个问题:
- 如何在非守护程序容器完成运行后检查它的文件系统?
- 如何获取为非守护程序容器创建的容器的容器 ID(不使用 $(docker ps))。
如果我做 a docker ps -a
,我会看到:
所以我们可以看到 cdt-tests 在那里,即使它不是一个守护进程。
所以我们尝试检查它,如下所示:
但我们得到一个错误:
该怎么办?
docker - 关于Supervisor和tail over Apache的error.log的解释
在创建 Docker 容器时,要同时拥有apache2 error.log
并通过docker logs -f <my_container>
我使用一个容器,该容器运行supervisor作为入口点,并具有以下配置:
这工作正常,但我不明白为什么如果我[program:apache]
用这个替换会话这不起作用:
也就是说:如果没有明确设置stderr
和stdout
日志文件,该docker logs -f <my_container>
命令不起作用,但在容器内tail -f /var/logs/apache2/access.log
并且tail -f /var/logs/apache2/error.log
工作正常。
有人可以向我解释为什么supervisor
并且docker logs -f <my_container>
由于这种配置更改而有两种不同的作品吗?
谢谢
postgresql - 如果 ENTRYPOINT 未完成,Dockerfile 不会运行 CMD
我正在尝试运行一个运行 PostgreSQL 的 Dockerfile,然后向其中添加一些表。
这是我的 Dockerfile:
入口点没有完成,因为它运行 postgres 服务器。例如,如何在运行 ENTRYPOINT 20 秒后运行 CMD,但没有完成 ENTRYPOINT?
是否可以?
docker - 在 docker-compose 中使用入口点运行自定义脚本
我修改了https://hub.docker.com/_/solr/上给出的docker-compose.yml
文件,在. 修改后的文件如下:volumes
entrypoint
我需要在入口点启动之前运行这个“init.sh”,以便在容器中准备我的文件。
但我收到以下错误:
错误:对于 solr_solr_1 无法启动服务 solr:oci 运行时错误:container_linux.go:247:启动容器进程导致“exec:\”init.sh\”:在 $PATH 中找不到可执行文件”
早些时候我从这里发现了 neo4j 中的官方图像挂钩。我也可以在这里使用类似的东西吗?
更新 1:从下面的评论中,我意识到 dockerfile 设置是WORKDIR /opt/solr
由于executable file not found in $PATH
. 所以我通过使用提供入口点的绝对路径来进行测试/init.sh
。但这也会产生错误,但会产生不同的错误:
standard_init_linux.go:178: exec 用户进程导致“exec 格式错误”
docker - 从 docker 容器访问主机的文件夹
我在主机的这个目录中有一个文件夹/files/username/
。username
是可变的。
这是我的 Dockerfile 的 CMD 指令:
我想获取/files/username/
文件夹的内容entrypoint.sh
。我可以将用户名变量作为环境变量,如下所示:
通过这种方式是否可以访问主机设备的文件夹entrypoint.sh
?
python - 如何使用 docker run 将本地文件作为参数传递?
我有一个像这样的 Dockerfile:
“post”命令可以在没有参数的情况下正常运行我的代码。我的问题是如何让 docker 容器在运行时除本地文件之外,因为它可能会改变。
这是我运行脚本的命令,但说没有这样的文件或目录 data/output.xml
我也试过这个没有运气
感谢您的任何帮助!
tomcat - docker compose 不启动容器内的服务
我实际上在使用 docker-compose 启动 tomcat 服务时遇到了麻烦。
这是docker-compose.yml
我正在使用的
这是Dockerfile
我在 cs_tomcat 中创建的,
当我使用以下单独运行此 docker 文件时,一切正常
当我使用以下命令构建和启动 docker 容器docker-compose
时,容器启动,但 tomcat 服务没有启动。
这是我的docker-entrypoint.sh
文件
任何人都可以在这里看到任何错误吗?对此的任何帮助都将是非常可观的。
php - Symfony 在我运行 composer 命令时传递 -env 参数
当我为我的项目创建一个 docker 入口点脚本时,我运行:
但这会引发一个异常,即:
致命错误:未捕获的 Symfony\Component\Debug\Exception\ClassNotFoundException:试图从命名空间“Ajgl\Twig\Extension\SymfonyBundle”加载类“AjglBreakpointTwigExtensionBundle”。
初始化捆绑包的代码AppKernel.php
是:
这个包我使用 intdev
和test
它使用的环境。我构建的容器用于生产。
因此,我想以某种方式让作曲家执行时的 ScriptHandlers 运行在一个prod
环境而不是一个环境dev
中,以抑制错误消息?
docker - Docker 入口点和 cmd 一起
我尝试使用入口点和 cmd 设置 Docker。
但是入口点脚本没有停止...... cmd 命令没有启动
这是我的脚本:
脚本总是回显 14,我只想要一个,然后从 dockerfile 执行 cmd 命令