小编I_J*_*_JA的帖子

当基本映像是 centos 与 ubuntu:trusty 时,以 shell 形式运行 CMD/ENTRYPOINT 时,不同的进程以 PID 1 运行

使用以下 dockerfile 构建并运行映像。

Dockerfile1

FROM ubuntu:trusty
ENTRYPOINT ping localhost
Run Code Online (Sandbox Code Playgroud)

现在运行以下命令来查看容器中运行的进程。

docker exec -it <container> ps -ef
Run Code Online (Sandbox Code Playgroud)

PID 1 进程正在运行 /bin/sh -c ping localhost

UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0 11:35 ?        00:00:00 /bin/sh -c ping localhost
root         8     1  0 11:35 ?        00:00:00 ping localhost
root         9     0  0 11:35 pts/0    00:00:00 ps -ef
Run Code Online (Sandbox Code Playgroud)

现在将基本映像更改为 centos:latest。

修改后的 Dockerfile

FROM centos:latest
ENTRYPOINT ping localhost
Run Code Online (Sandbox Code Playgroud)

使用修改后的 dockerfile 构建并运行映像。再次运行“docker exec -it ps -ef”命令。

UID        PID …
Run Code Online (Sandbox Code Playgroud)

docker dockerfile

6
推荐指数
1
解决办法
4946
查看次数

标签 统计

docker ×1

dockerfile ×1