前面讲到镜像的常用命令,其实镜像就差不多等于一个软件,我们把他下载下来。
容器就是启动起来的一个实例化,开多个容器就是多个实例化,可以理解为多开游戏。
像玩什么梦幻西游啊,这种可以组队的游戏,我们可以只需要安装一个梦幻西游,就可以开启多个客户端,登录多个账号。
然后来讲一下容器的常用命令。
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)
对于java程序员很不友好的一点是,我们都是用美元大括号,他们这里用小括号!我也是醉了!
查看日志
跟我们平时在linux上看日志其实差不多,不过这里的tail要指定一个数量显示多少条,然后就可以看着个容器的日志了。
docker logs -tf --tail number 容器id
查看进程
docker top 容器id。
因为docker开启centos后,一个光秃秃的centos并没有什么前台应用,所以docker就会认为你占着茅坑不拉屎,就把你干掉了。
所以我们要给这个centos找点事情干,比如让他一直输出。
docker run -d centos /bin/sh -c "while true;do echo linnine;sleep 1;done"
这样我们就可以看到日志一直刷了。
然后看看我们的进程,要有启动的才能看进程,实验完记得关掉这个容器。
比起linux弱一点的是,只能通过容器id查看,不能通过容器名查看,可能是我知道的少吧!
看出元数据
当我们想看这个镜像的详细信息时,就可以用这个命令看一下了,里面的内容还是挺多的,有兴趣的可以自己去翻翻
docker inspect 容器id