Docker在入口点后退出

谭维汉

我正在尝试为s3cmd写一个docker镜像。当我通过docker-compose运行从Dockerfile构建的映像时,容器会在docker compose中的命令运行之前退出。

Docker文件

FROM alpine:latest

COPY ./.s3cfg /s3cmd_repo/.s3cfg.example
COPY entrypoint.sh /s3cmd_repo/

RUN chmod +x /s3cmd_repo/entrypoint.sh

ENTRYPOINT ["/s3cmd_repo/entrypoint.sh"]

入口点

#!/bin/sh
echo "--- INITIALIZING SS# CONFIGURATIONS ---"
envsubst < /s3cmd_repo/.s3cfg.example > ~/.s3cfg
s3cmd ls
echo "=== END ==="

docker-compose.yml

version: '3'    
services:
  execution:
    image: s3
    command: s3cmd ls

我也尝试使用tail -f /etc/issue,容器没有退出,但是docker compose命令无法运行。

大卫xxx

当我通过docker-compose运行从Dockerfile构建的映像时,容器会在docker compose中的命令运行之前退出。

这是预期的。s3cmd lsdocker compose file:中的命令将附加到s3'Dockerfile的入口点。
因此执行了类似的操作:

/s3cmd_repo/entrypoint.sh s3cmd ls

在sh脚本执行期间,两个args只会被忽略。

要执行多个命令以启动容器,您无需定义ENTRYPOINT。而是指定要在docker-compose文件中运行的命令:

version: '3'    
services:
  execution:
    image: s3
    command: sh -c "/s3cmd_repo/entrypoint.sh && s3cmd ls"

请注意shbash它不适用于任何Linux发行版(例如Alpine)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

默认的Docker入口点

来自分类Dev

Docker-compose应该运行一次我的入口点脚本然后退出两次

来自分类Dev

docker nginx部署入口点

来自分类Dev

Docker无法运行入口点

来自分类Dev

Docker,入口点异常行为

来自分类Dev

覆盖的docker入口点的参数

来自分类Dev

运行命令后退出Docker容器

来自分类Dev

入口点:“ entrypoint.sh”-docker撰写

来自分类Dev

docker:不覆盖基本映像入口点

来自分类Dev

Docker入口点不会提示我输入

来自分类Dev

Docker 入口点找不到命令

来自分类Dev

如何调用redmine docker镜像的入口点?

来自分类Dev

网络设置后退出Hyperledger Fabric对等Docker实例

来自分类Dev

Docker安装发生在入口点执行之前或之后

来自分类Dev

为什么Docker中的入口点以运行jar的sh开头?

来自分类Dev

Docker运行-具有多个参数的入口点

来自分类Dev

GitHub Actions忽略/覆盖Docker容器的入口点

来自分类Dev

带有脚本参数的Docker入口点

来自分类Dev

如何让 shell 脚本指向 .dll?(Docker 入口点)

来自分类Dev

Docker 入口点未在 jupyterhub 上以 root 身份运行

来自分类Dev

执行后退出终端

来自分类Dev

苹果登录后退出

来自分类Dev

从入口点排除ProvidePlugin

来自分类Dev

更改入口点“主要”

来自分类Dev

更改入口点“主要”

来自分类Dev

春季认证入口点

来自分类Dev

引用传递给docker入口点的第一个参数?

来自分类Dev

docker-compose.yml中入口点的env fiile环境变量

来自分类Dev

/ bin / sh:设置docker-compose入口点时没有此类文件或目录