docker常用命令

官方命令帮助地址:https://docs.docker.com/reference/

帮助命令

docker version     		#显示docker的版本信息
docker info		   		#显示docker的系统信息,包括镜像和容器的信息
docker 命令 --help  	   #docker帮助信息

镜像命令

docker images 查看本地的主机上的镜像

[root@myboy ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
mysql               5.7                 a4fdfd462add        2 weeks ago         448MB
hello-world         latest              bf756fb1ae65        5 months ago        13.3kB

# 解释
REPOSITORY   镜像的仓库源
TAG			镜像的标签
IMAGE ID     镜像的id
CREATED      镜像的创建时间
SIZE         镜像的大小

# 参数
Options:
  -a, --all             显示所有镜像
  -q, --quiet           只显示镜像的id
  
# 使用
[root@myboy ~]# docker images -a
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
mysql               5.7                 a4fdfd462add        2 weeks ago         448MB
hello-world         latest              bf756fb1ae65        5 months ago        13.3kB
[root@myboy ~]# docker images -aq   
a4fdfd462add
bf756fb1ae65

docker search 搜索镜像

docker search 镜像名     #搜索镜像

#参数
--filter=START=3000   搜索stars数大于3000的镜像

#例子
docker search mysql --filter=STARS=3000   #搜索star数大于3000的mysql镜像

docker pull 下载镜像

docker pull 镜像名      #下载最新版镜像
docker pull	镜像名:tag  #下载指定版本的镜像	    

docker rmi 删除镜像

docker rmi -f 镜像id				#删除指定镜像
docker rmi -f 镜像id1,镜像id2       #同时删除多个指定镜像
docker rmi -f $(docker images -qa) #删除所有镜像

容器命令

说明:我们有了镜像才可以创建容器,下载一个centos镜像来测试学习

docker pull centos

新建容器并启动

docker run [可选参数] 镜像ID

#参数说明
--name="Name"    容器名字  tomcat01 tomcat02,用来区分容器
-d				后台方式运行
-it				使用交互方式运行,进入容器查看内容
-p(小写)		  指定容器的端口 -p 8080:8080
	-p ip:主机端口:容器端口
	-p 主机端口:容器端口(常用)
	-p 容器端口

-P(大写)			随机指定端口


#测试,启动并进入容器
[root@myboy ~]# docker run -it centos /bin/bash
[root@cee9f4b704bb /]# ls     #查看容器中的目录
bin  dev  etc  home  lib  lib64  lost+found  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
[root@cee9f4b704bb /]# exit    #从容器中退回主机
exit

列出所有运行的容器

#命令
docker ps  #列出当前正在运行的容器

#参数
-a         #列出正在运行的容器+之前运行过的容器
-a -n=k    #列出最近创建的k个容器
-q         #只显示容器id

#测试
[root@myboy ~]# docker ps -a -n=1   #显示最近1个容器
[root@myboy ~]# docker ps -aq	    #只显示所有容器id

退出容器

exit            #退出并停止容器
ctrl + P + Q	#退出容器不停止

删除容器

docker rm 容器id                #删除指定容器,不能删除正在运行的容器
docker rm -f 容器id             #强制删除指定容器,可以删除正在运行的容器
rocker rm -f $(docker ps -aq)   #删除所有容器,包括正在运行的容器
docker ps -aq | xargs docker rm #删除所有容器

启动和停止容器

docker start 容器id           #启动和停止容器
docker restart 容器id		    #重启容器
docker stop 容器id		   #停止当前正在运行的容器
docker kill 容器id		   #强制停止当前容器

常用其他命令

后台启动容器

[root@myboy ~]# docker run -d centos    #后台启动镜像

通过docker ps 查看进程发现镜像停止了

原因:docker容器使用后台运行,就必须有一个前台进程,docker发现没有应用,就会自动停止

查看日志

[root@myboy ~]# docker logs --help

Options:
  -f, --follow         实时跟踪
      --since string   从何时之后的日志,如 2013-01-02T13:23:37
      --tail string    从末尾数第几行日志
  -t, --timestamps     显示时间戳
      --until string   从何时之前的日志
                 
#实例
[root@myboy ~]# docker logs -f -t --tail 10 f8198cbef3e8   #实时跟踪末尾第10条日志

#模拟日志输出,后台不断打印
[root@myboy ~]# docker run -d centos bin/bash -c "while true;do echo kuangshen;sleep 1;done"

[root@myboy ~]# docker logs -ft --tail 10 a1aadf1c3c5e   #查看日志

查看容器中进程的信息

#命令
docker top 容器id

#实例
[root@myboy ~]# docker top a1aadf1c3c5e
UID                 PID                 PPID                C                   STIME               TTY                 TIME                CMD
root                10363               10346               0                   21:26               
root                10446               10363               0                   21:27               

查看容器的元数据

#命令
docker inspect a1aadf1c3c5e

#作用:查看容器的详细信息
[root@myboy ~]# docker inspect a1aadf1c3c5e
[
    {
        "Id": "a1aadf1c3c5e625c98c4279af2db77fe0c579dd27e32ad7e2c643cc5e03f9dbe",
        "Created": "2020-06-08T13:20:31.535615378Z",
        "Path": "bin/bash",
        "Args": [     #参数
            "-c",
            "while true;do echo kuangshen;sleep 1;done"
        ],       #状态
        "State": {
            "Status": "running",
            "Running": true,
            "Paused": false,
            "Restarting": false,
            "OOMKilled": false,
            "Dead": false,
            "Pid": 10363,
            "ExitCode": 0,
            "Error": "",
            "StartedAt": "2020-06-08T13:26:55.504671216Z",
            "FinishedAt": "2020-06-08T13:24:09.766309911Z"
        },
	...
]

进入当前正在运行的容器

#我们通常容器都是使用后台方式运行的,我们可以通过命令进入后台运行中的容器

#方式一  开启新的终端
docker exec -it 容器id /bin/bash

#方式二  进入正在执行的终端
docker attach 容器id

从容器内拷贝文件到终端

#命令
docker cp 容器id:容器内路径 容器外路径

#该命令可以在容器停止运行状态下使用,因此容器停止了,数据还是存在的

#实例
[root@myboy ~]# docker attach 3c8482aafaf7
[root@3c8482aafaf7 /]# cd /home
[root@3c8482aafaf7 home]# ls
[root@3c8482aafaf7 home]# touch text.java
[root@myboy ~]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             
3c8482aafaf7        centos              "/bin/bash"         About a minute ago  
[root@myboy ~]# docker cp 3c8482aafaf7:/home/text.java /home
[root@myboy ~]# cd /home
[root@myboy home]# ls
text.java

小结

version     #查看docker版本信息
info	    #查看docker详细信息
images	    #查看所有的本地镜像
search	    #搜索镜像
stats	    #查看docker容器占用cpu内存情况
pull	    #从远程拉去镜像
rmi		    #删除本地镜像
run		    #运行docker镜像
rm		    #删除容器
ps		    #列出容器列表
start		#启动容器
restart		#重启容器
stop	    #停止容器
kill	    #杀死进程
logs	    #查看日志
top		    #查看容器中的进程信息
inspect     #查看容器元数据
exec	    #开启新终端进入正在运行的容器
attach		#进入正在运行的容器
cp          #从容器内拷贝数据到外部
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值