前面讲到镜像的常用命令,其实镜像就差不多等于一个软件,我们把他下载下来。

容器就是启动起来的一个实例化,开多个容器就是多个实例化,可以理解为多开游戏。

像玩什么梦幻西游啊,这种可以组队的游戏,我们可以只需要安装一个梦幻西游,就可以开启多个客户端,登录多个账号。

然后来讲一下容器的常用命令。

idea设置SSH远程连接服务器 并保存账号密码

容器删除

容器删除有两种简单的方法,跟linux差不多

docker rm 容器id
docker rm -f 容器id

这两种删除方法的区别是,-f可以删除正在运行的容器,反之则不行。

容器启动与停止

#启动
docker start 容器id
#重启
docker restart 容器id
#关闭
docker stop 容器Id

有好奇心的同学就会问了,这个start和run有什么区别呢?

区别就在于run是等于新建了一个容器并启动,也就等于creat+start

而start只能启动已经存在的容器。

从命令上也可以看出,run命令后面可以是容器名,也可以是容器id,而start却只是容器id。

后面我们在run的时候给容器取个别名的时候,就可以直接通过别名来start,但是却不能run了,因为run会去创建,但是我们已经存在这个别名的容器了,所以再创建就不让了。

不像默认使用id的话,id是不会有冲突的。

还有就是stop和exit也是有区别的,exit只是退出容器,容器没被docker杀掉的话,就还会运行。而stop则是直接停止容器运行!

容器批量操作

比如我们测完了容器,要把他批量删除,总不能一个一个id去删除吧!那不得累死!

我们可以用注入的方式,将查出来的结果注入进去

docker rm -f $(docker ps -a -q)

docker 多容器管理 docker容器多开_docker 多容器管理

对于java程序员很不友好的一点是,我们都是用美元大括号,他们这里用小括号!我也是醉了!

docker 多容器管理 docker容器多开_docker_02

查看日志

跟我们平时在linux上看日志其实差不多,不过这里的tail要指定一个数量显示多少条,然后就可以看着个容器的日志了。

docker logs -tf --tail number 容器id

docker 多容器管理 docker容器多开_centos_03

查看进程

docker top 容器id。

因为docker开启centos后,一个光秃秃的centos并没有什么前台应用,所以docker就会认为你占着茅坑不拉屎,就把你干掉了。

所以我们要给这个centos找点事情干,比如让他一直输出。

docker run -d centos /bin/sh -c "while true;do echo linnine;sleep 1;done"

这样我们就可以看到日志一直刷了。

然后看看我们的进程,要有启动的才能看进程,实验完记得关掉这个容器。

docker 多容器管理 docker容器多开_linux_04


比起linux弱一点的是,只能通过容器id查看,不能通过容器名查看,可能是我知道的少吧!

看出元数据

当我们想看这个镜像的详细信息时,就可以用这个命令看一下了,里面的内容还是挺多的,有兴趣的可以自己去翻翻

docker inspect 容器id

docker 多容器管理 docker容器多开_linux_05