docker学习2

         今天继续学习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