若镜像中包含了bash shell,可在已有的容器内部运行shell。
docker exec -it <containerName> bash
这会在container内部运行bash。bash进程会和主容器进程拥有相同的命名空间。
-i
:确保标准输入流保持开放,需要在shell中输入命令-t
:分配一个伪终端
容器内的进程运行在主机操作系统上,但拥有独立的进程树
在容器内通过ps aux
查看进程和在主机上运行此命令均能看到容器内的进程,但可以发现进程的ID在容器中与在主机上不同。容器使用独立的PID Linux命名空间并且有着独立的系列号,完全独立于进程树。
容器拥有独立的文件系统
ls /
仅展示容器内的文件
最后可以通过exit
返回主机