docker 容器常用命令

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

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

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

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

容器启动

首先还是先装个镜像,比如centos.

docker pull centos

在这里插入图片描述
可以看到这个centos才200多M,不然平时去下一个镜像来装虚拟机都要6、7个G呢。

安装好了镜像就可以启动容器了。

docker run [可选参数] image

#可选参数
--name=”参数" 	容器名称,如centos01 cantos02 如同分布式那般区分
-d				以后台的形式启动,类似linux的nohup
-it				以交互的方式启动运行,如直接启动
-p				用于指定容器的端口, 如 -p 8080:8080
	-p ip:主机端口:容器端口
	-p 主机端口:容器端口(常用)
	-p 容器端口
	容器端口
-P				大写的P随机指定一个端口

这里我们以交互(启动并进入)的形式启动一个centos的容器

docker run -it centos /bin/bash


可以直接用exit退出

如果你直接run 没有-it 进去,也可以选择下面这种方式进入

docker attach 容器id

容器查看

我们还可以查看正在运行的程序

docker ps

在这里插入图片描述
因为刚才退出了,所以现在没有正在运行的程序。

还可以加个-a 来查看曾经运行过的程序

docker ps -a 	#代表all 所有程序
-n=?  			#显示最近创建的几个程序如n=1 就是展示一条
-q			    #只展示id
#也可以-aq的组合来展示最近的程序的id

容器退出

除了上面讲的直接输入exit退出,还有别的方式。

同时按Ctrl + P + Q 将容器后台挂起。

但是很坑爹的是!mac的快捷键,我之前不是调过了吗!适配windows。

但是现在就变成我按ctrl+Q时,程序直接就被关闭了!有毒。

可以改一下其他的快捷键,直接把那个快捷键占用掉,我建议不管是不是因为这个都把他关掉了。
在这里插入图片描述
因为我们现在基本用不到这个功能,真要关手动关就好了!总比不小心直接关掉程序的好!

但是还有个坑爹的是,因为mac没有x-shell,所以我搜了个叫Royal TSX,然后按了上面那个快捷键,弹出了一个它的帮助,我也是醉了!

不过这都不是问题,苹果的快捷键我都改了,你一个小软件还能难得住我?

好吧,确实是挺难的,因为全英文界面!

所以我用idea了!idea也是可以连的!其实也很简单那,在上面的Tools里面有个Start SSH Session,然后输入一下ip和账号密码就能连接上了!

在这里插入图片描述
然后idea也是有这个快捷键的,这就好处理多了!

然后还是不行,我发现你大爷的,是上面那个app快捷键,我设置成了帮助,所以才按了就有帮助!

于是我就去把那个选项去掉了,然后你大ye的,退出又生效了,我又生一致,手动设置关闭的快捷键,总算解决了!

在这里插入图片描述
然后回到主题,草,还是不行!就很气!

所以我把切换输入法的快捷键改成这个了,跟我斗!

在这里插入图片描述
然后我再试一下那个快捷键,还不行,我就去找别的办法,我就不信了,一个linux的用啥快捷键!

好吧!还是不行,刚才抽空写了个 idea连接ssh服务器的方法,有兴趣的可以去我的主页翻翻。

或者传送门: 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

在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值