Docker常用命令之容器命令

 

                                             《 Docker常用命令之容器命令 》

前言

在前一篇文章中,完成了 Docker 镜像命令的使用与说明,有了镜像之后,接下来就可以进行容器的相关操作了,本篇将围绕容器相关的使用进行讲解,学完本篇后,将学会 Docker 容器基本使用与管理。

 

Docker常用命令之容器命令

一、基础部分

1、在容器操作前,先列出本地镜像,这儿就使用在上一章中拉取的镜像,输入命令 “ docker images -a ” ,如下图:

 

2、新建并启动一个Docker容器,

语法:

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

以启动一个redis:4.0.11容器为例,并实现客户端交互,在容器内部执行/bin/bash命令,

输入命令 “ docker run --interactive --tty redis:4.0.11 /bin/bash ”,当然也可简写为 “ docker run -it redis:4.0.11 /bin/bash ”,

启动成功后,发现进入了容器内部,并可对redis进行基本操作了,如下图:

 

[OPTIONS] 参数说明(变色的是较为常用的):

-d, --detach

在后台运行容器并打印容器ID                                            

-e, --env设置环境变量
-h, --hostname定义容器主机名
-i, --interactive即使没有连接,也保持STDIN开放
--name为容器指定一个名称
--network将容器连接到网络
--read-only将容器的根文件系统挂载为只读(后面会详细讲到)
--restart配置容器的重启策略,当容器退出时重新启动(默认为“no”)
-t, --tty为当前容器分配一个客户端
-v, --volume绑定安装卷(关于容器卷,在Docker容器数据卷中会具体的讲解)

《 Docker容器启动参数大全与详细说明 》

 

3、查看当前正在运行的容器,

语法:

docker ps [OPTIONS]

以列出当前所有正在运行的容器与以前运行但已停止的容器,输入命令 “ docker ps -a ”,如下图:

 

[OPTIONS] 参数说明:

-a, --all显示所有容器(默认显示只是运行)
-f, --filter当启动的容器较多时,可根据提供的条件过滤输出
-n, --last显示最近创建的容器(包括所有状态)(默认-1)
-l, --latest显示最新创建的容器(包括所有状态)
--no-trunc不截断输出
-q, --quiet 只显示镜像id
-s, --size显示总文件大小

 

4、退出容器

第一种:停止容器退出,输入命令 “ exit ”,

第二种:容器不停止退出,使用快捷键 “ Ctrl + P + Q ”

 

5、启动容器,输入命令 “ docker start 容器ID/容器名称 ” 进行启动,如下图:

 

6、重启容器,输入命令 “ docker restart 容器ID/容器名称 ” 进行重启操作。

 

7、停止容器,输入命令 “ docker stop 容器ID/容器名称 ” 进行重启操作。

 

8、强制停止,这个在容器无法正常停止,且找不到任何原因的情况下使用,和宿主机中直接杀掉进程的命名相似,输入命令 “ docker kill 容器ID/容器名称 ” 进行停止操作。

 

9、删除已停止且废弃的容器,

普通删除,输入命令 “ docker rm 容器ID ” ,强制删除命令 “ docker rm -f 容器ID ” ,

批量且强制删除,输入命令 “ docker rm -f $(docker ps -qa) ”,

关于批量删除,还可以通过值传递的形式进行删除,输入命令 “ docker ps -qa | xargs docker rm ” 进行批量删除。

 

二、进阶部分

1、Docker容器使用守护进程的方式启动,输入命令 “ docker run -d tomcat ” ,如下图:

输入命名 “ docker ps  ” ,查看启动结果,如下图:

*注意:为什么会这样 , 这个时Dokcer的运行机制的问题,Docker容器需要后台运行,就必须有一个前台进程。如果运行的容器没有挂起的进程,则会自动退出。

 

2、查看容器日志,后台启动一个容器,并且挂载一个进程,

输入命令 “ docker run -d centos /bin/sh -c "while true;do echo hello huazai;sleep 3;done" ” (当然这些shell编程不用纠结),如下图:

查看容器产生的日志,输入命令 “ docker logs -ft bade1b5daa6d ”,如下图:

日志参数说明:

--details 打印容器的详细日志信息                                          
-f, --follow跟踪日志输出
--since显示时间戳之后的日志(例如2013-01-02T13:23:37)或相对日志(例如42m, 42分钟)
--tail从日志末尾显示的行数(默认为“all”)
-t, --timestamps显示时间戳
--until在时间戳(例如2013-01-02T13:23:37)或相邻(例如42m, 42分钟)之前显示日志

 

3、查看容器内部运行的进程,输入命令 “ docker top 容器ID ” 进行查看,

 

4、查看容器内部的具体信息,输入命令 “ docker inspect 容器ID ” 进行查看,部分内容截图如下:

 

5、进入容器,好了写了这么多,到底是该进入容器了呃, 进入正在运行的容器并以命令行交互,这儿介绍常用的有两种方式:

第一种:docker exec -it 容器ID [COMMAND] 

第二中:docker attach 容器ID

例如:进入到刚才测试使用的容器中,输入命令 “ docker exec -it bade1b5daa6d /bin/bash ” ,如下图:

谈谈 exec and  attach 的区别:

exec : 在容器中打开新的终端,并且启动新的进程,如上图所示;

attach : 直接进入容器启动命令行终端,不会启动新的进程;

 

6、从容器中拷贝文件到宿主机上,输入命令 “ docker cp 容器ID:容器文件 宿主机文件路径 ”,如下图:

 

 

 

 


 好了,关于 Docker常用命令之容器命令  就写到这儿了,如果还有什么疑问或遇到什么问题欢迎扫码提问,也可以给我留言哦,我会一一详细的解答的。 
歇后语:“ 共同学习,共同进步 ”,也希望大家多多关注CSND的IT社区。


作       者:华    仔
联系作者:who.seek.me@java98k.vip
来        源:CSDN (Chinese Software Developer Network)
原        文:https://blog.csdn.net/Hello_World_QWP/article/details/83716703
版权声明:本文为博主原创文章,请在转载时务必注明博文出处!
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值