换网站公司,网上下的网站模版后门,的博客wordpress,怎么样建设一个网上教学网站问题描述
相同的dockerfile#xff0c;使用不同的基础镜像制作镜像1号进程不相同 ENTRYPOINT都是#xff1a; /bin/sh -c pre-start.sh myblockserver 的形式 就是执行多个命令命令#xff0c;最后的一个命令是阻塞的
镜像1: 1号进程是 /bin/sh -c pre-start…问题描述
相同的dockerfile使用不同的基础镜像制作镜像1号进程不相同 ENTRYPOINT都是 /bin/sh -c pre-start.sh myblockserver 的形式 就是执行多个命令命令最后的一个命令是阻塞的
镜像1: 1号进程是 /bin/sh -c pre-start.sh myblockserver 【单引号被系统去掉了】sleep 99d 作为子进程运行可以总结为-c 后边如果是使用连接的多个命令并且有阻塞的命令/bin/sh -c pre-start.sh myblockserver 就不会退出镜像2: 1号进程是就是myblockserver 可以总结为 -c 连接的命令如果只有最后一个命令是阻塞的,那么/bin/sh -c pre-start.sh myblockserver 会退出问题 如果myblockserver 没有处理回收子进程的的能力容器里新的孤儿进程都会变成僵尸进程 例如 [sshd] defunct问题分析 两个基础镜像的bash的版本不同
镜像1 GNU bash, version 5.1.9 如果 连接的命名只有最后一个是阻塞的 /bin/sh -c 会退出镜像2: GUN bashversion 4.2.26 如果 连接的命名只有最后一个是阻塞的 /bin/sh -c 不会退出规避方案
如果不想让/bin/sh -c 退出bash可以回收僵尸进程
判断bash版本这个有点麻烦或者 /bin/sh -c pre-start.sh myblockserver : 就是后边再加的命令啥都行这里使用就是啥也不干的命令