V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
334862132
V2EX  ›  Docker

docker 镜像如何让启动的时候不执行 shell 脚本

  •  
  •   334862132 · 2020-02-19 18:40:28 +08:00 · 4529 次点击
    这是一个创建于 1730 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我有一个镜像,因为业务变动需要迁移,但是这个镜像打包后在新服务器上启动后会自动启动一个 shell 脚本 脚本启动失败了容器就自动关闭了,有没有什么办法能让 docker 容器在启动后不执行 shell 脚本


    docker ps -a 里面 容器 写着 COMMAND sh /var/www/app/run.sh 就是开启容器后自动执行这个脚本
    我尝试修改 config.v2.json 文件里面把 "Args":["/var/www/app/run.sh"], "Cmd":["sh","/var/www/app/run.sh"]俩个都删掉
    之后 hostconfig.json 文件 "Name": "no",改成 always
    没有用,启动后依然执行 shell 脚本,并且在执行后 config.v2.json 和 hostconfig.json 俩个文件又恢复成原来的样子
    6 条回复    2020-02-20 13:10:45 +08:00
    d5
        1
    d5  
       2020-02-19 18:46:01 +08:00   ❤️ 1
    可以停止容器后,直接 /var/lib/docker/<容器卷 id>进去找到最新可写层那个文件夹,进去改。
    334862132
        2
    334862132  
    OP
       2020-02-19 19:12:29 +08:00
    @d5 我改的就是这个
    容器卷里面有这些文件
    checkpoints config.v2.json hostconfig.json hostname hosts resolv.conf resolv.conf.hash secrets shm
    过去改映射端口时候改 hostconfig.json config.v2.json 俩个文件把映射端口改一下就行了,但是现在的启动项在
    config.v2.json 文件面 有 "Args":["/var/www/app/run.sh"], "Cmd":["sh","/var/www/app/run.sh"] 俩个内容是关于 shell 脚本的 我都删了后 重新启动容器依然在执行 shell 脚本..
    然后回去再打开一下 config.v2.json 文件 发现删掉的文件又还原了
    这一排里面所有的文件我都看了 没找到其他地方还有写这脚本的地方
    iUnix
        3
    iUnix  
       2020-02-19 19:15:32 +08:00 via Android   ❤️ 1
    为什么不重新 build ?
    不重新 build 的话指定运行的 command 就行了
    singerll
        4
    singerll  
       2020-02-19 19:16:10 +08:00 via Android   ❤️ 1
    把脚本内容改了试试?
    334862132
        5
    334862132  
    OP
       2020-02-19 19:27:07 +08:00
    @singerll
    谢了,我当时也是这想法,实在不行重搭一个 反正代码都有就是从配环境麻烦点
    不过刚我把容器删了 之后用镜像启动位置用 /bin/sh 启动后就不自动执行脚本了 上一次构建容器时候用的 /bin/bash
    没想到这玩意还有影响....
    aaronchen2016
        6
    aaronchen2016  
       2020-02-20 13:10:45 +08:00 via Android   ❤️ 1
    外挂 volume 将那几个脚本覆盖
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5306 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 07:50 · PVG 15:50 · LAX 23:50 · JFK 02:50
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.