docker容器的启动、停止、运行、导入、导出、删除

时间:2021-05-25 17:43:55
原文: docker容器的启动、停止、运行、导入、导出、删除

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/jiang425776024/article/details/89061176

运行容器:docker run -t -i  imagename  /bin/bash、docker run  imagename  /bin/bash

参数-t让Docker分配一个伪终端并绑定在容器的标准输入上,-i让容器的标准输入保持打开。

使用docker run命令来启动容器,docker在后台运行的标准操作包括
1.检查本地是否存在指定的镜像,不存在则从公有仓库下载
2.使用镜像创建并启动容器
3.分配一个文件系统,并在只读的镜像层外面挂载一层可读可写层
4.从宿主主机配置的网桥接口中桥接一个虚拟接口道容器中去
5.从地址池分配一个ip地址给容器
6.执行用户指定的应用程序
7.执行完毕之后容器被终止

docker start 直接将一个已经终止的容器启动运行起来

docker restart 命令来重启一个容器


docker stop 来终止一个运行中的容器。使用docker ps -a来看终止状态的容器。


进入运行中的后台程序:有时候我们加了参数-d,这时容器自动进入后台运行。这个时候我们要再次进入容器,docker attach是Docker自带的命令,docker attach imagename,若有多个用户attach到一个容器,一个窗口命令阻塞,其他窗口都无法执
行,nsenter命令:在util-linux包2.23版本后都有包含。nsenter可以访问另一个进程的名字空间

docker ps查看正在运行的容器

docker ps -a查看所有容器

docker容器的启动、停止、运行、导入、导出、删除

进程的PID# docker inspect -f {{.State.Pid}} c74e0f07a914

或者:PID=$(docker-pid 5d1ba7f7affc)

docker容器的启动、停止、运行、导入、导出、删除

有了PID后,可以nsenter进入容器:nsenter --target 21140(得到的PID) --mount --uts --ipc --net --pid


docker export 5d1ba7f7affc > ubuntu.tar:导出一个id为5d1ba7f7affc的容器为ubuntu.tar快照

cat ubuntu.tar | docker import - test/ubuntu:7 导入容器快照作为镜像

docker import http://xxxx.com/image_test.tgz test/image_test:导入一个url为镜像快照

镜像快照load、容器快照import导入的区别

docker中可以使用docker load来导入镜像,也可是使用docker import来导入一个容器快照到docker镜像。两者的区
别是容器快照将丢弃所有的历史记录和元数据信息。而镜像保存完整的记录,因此要更大些。


docker rm 容器id:来删除一个终止状态的容器,加-f强制删除