加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

bash – 如何在每个“exec”命令中执行Docker镜像的入口点?

发布时间:2020-12-16 03:35:16 所属栏目:安全 来源:网络整理
导读:在尝试使用Dockerspec测试Dockerfiles之后,我终于有了an issue我无法正确解析. 我认为问题来自Docker本身;如果我理解它的进程,一个Entrypoint只在运行时执行,但如果容器保持启动并且我启动了一个“exec”命令,则不会重新调用它. 我认为这是通缉行为. 但是如

在尝试使用Dockerspec测试Dockerfiles之后,我终于有了an issue我无法正确解析.

我认为问题来自Docker本身;如果我理解它的进程,一个Entrypoint只在运行时执行,但如果容器保持启动并且我启动了一个“exec”命令,则不会重新调用它.

我认为这是通缉行为.

但是如果Entrypoint是一个“gosu”脚本,它位于我的所有命令之前,那就是一个问题……

“myImage”有这个入口点:
gosu 1000:1000“$@”

如果我启动:docker run -it myImage id -u

输出为“1000”.

如果我启动一个容器:docker run -it myImage bash

在此容器中,id -u输出“1000”.

但是如果我在这个容器中启动一个新命令,它会启动一个新shell,并且不执行Entrypoint,所以:docker exec CONTAINER_ID id -u

输出“0”,因为新shell以“root”身份启动.

有没有办法每次执行入口点?
或者重新使用shell打开?

或者更好的方法呢?

或者,也许我什么都不懂?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读