1. 容器进程
进入容器内部,需要输入命令
docker exec -it {容器id/容器名} /bin/bash
;查看容器内部的进程,输入命令ps -ef
,可以观测到:PID USER TIME COMMAND
1 root 0:00 /bin/bash
2 root 0:00 ps -ef
看起来有两个进程在运行,其实pid为1的进程是容器被告知要运行的bash shell;第二个进程是
ps -ef
产生的,这是个临时进程,在输出后进程结束就退出了。也就是说,当前只运行了一个进程:/bin/bash
。因此,可以通过退出唯一的进程/bin/bash来退出容器(如果容器不运行任何进程则无法存在)。-
2. 容器生命周期
容器的持久化是指,容器只有在存在的前提之下,才有容器持久化。用命令
docker ps
查看容器时能看到的才是容器存在的前提,再在容器内部修改内容,不管容器是运行在什么状态,只要容器仍存在,则容器有持久化功能。- 不可能通过容器持久化,反作用到镜像。因为容器是根据镜像生成的,如果容器修改内容,且没有生成新的镜像,是不可能将修改的内容作用到镜像的。也就是说,启动容器,修改容器内容,销毁容器,则内容消失。
卷(volume)才是容器中存储持久化数据的首选方法,卷能映射物理机的目录到容器中,但是销毁容器时,并不会删除物理机的目录,因此再次创建容器后,能看到容器中存在该目录。
3. 查看容器详情
使用命令
docker image inspect {镜像id}
来查看镜像的详细情况。