今天继续学习docker!
搜索镜像
docker search centos
下载镜像
docker pull name(镜像名字)
查看镜像
docker images
字段含义分析:
TAG:仓库 ,镜像属于哪个仓库
latest:标签
IMAGE ID:ID号
SIZE:镜像大小
CREATED:创建的时间
导出镜像
docker save contos > /opt/centos.tar.gz
找别人拿一个镜像:
(导入)
docker load < /opt/centos.tar.gz
每一个镜像都有一个唯一的ID:
如何删除一个镜像:
docker rmi IMAGE ID
#镜像创建了容器是不能被删除的
启动容器方式;
第一次启动容器:
docker run centos /bin/echo "hehe"
docker run --help
查看 run参数
查看容器:
STATUS这个属性表示状态的意思 :退出状态
怎么不让他退出那?,这个容器还没有名字 之前那个我并没有给他命名是系统自动生成的 。
下面来看看这个操作;
docker run --name mydocker -t -i centos /bin/bash
-t:表示分配一个伪终端tty
-i:标准输入保持打开的
t ,i一起使用
声明:容器的主机名和ID一样
执行这个命令(docker run --name mydocker -t -i centos /bin/bash)都干了什么呢?
docker会检测centos里面有没有这个镜像,如果没有就会从公众的仓库去下载(dockerhub上面去下载)
docker ps 和docker ps -a 什么区别呢
给大家演示下
docker ps :只显示已经启动的容器
docker ps -a :显示全部容器
启动容器命令:docker start ID
容器也启动了 、怎么样进入到容器里面那?使用什么命令呢~
docker attach ID
容器的理念是单进程
退出进程方式
1)exit
退出后容器停止运行
2)nsenter
如果没有这个命令需要安装 util-linux
yum install -y util-linux
退出容器后容器还存在
docker inspect --format "{{.State.Pid }}" ID
nsenter -t 1831 -u -i -n -p
exit
再来看看结果
怎样查看一个容器进程PID那?
docker inspect --format "{{.State.Pid }}" ID(70f7d0c60564)
容器ID可以通过 docker ps -a 查看到。
如何删除一个容器那?
docker rm id/name 都可以
运行的容器怎么删除那
docker rm -rf id/name
不建议这么干
docker run --rm
--rm 参数适合实验用,容器停止就被删除了。
只显示容器ID是什么:
docker ps -aq
删除所有容器那?
docker kill $(docker ps -a -q)
总结:
进入容器的方式推荐使用 nsenter
来源:https://www.cnblogs.com/394510636-ff/p/8847247.html