Docker常用命令

2020-11-06  本文已影响0人  神小六

帮助命令

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

官方帮助文档地址

镜像命令

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

[root@izuf65v2vdwv6tsfc0e0ltz ssh]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
mysql               5.7                 1b12f2e9257b        2 weeks ago         448MB
centos              latest              0d120b6ccaa8        2 months ago        215MB
#解释
REPOSITORY           #镜像的仓库源
TAG                  #镜像的标签
IMAGE ID             #镜像的ID
CREATED              #镜像的创建时间
SIZE                 #镜像的大小
#可选项
-a,--a         #列出所有的镜像
-q,--quiet     #只显示镜像的id
docker search搜索命令
[root@izuf65v2vdwv6tsfc0e0ltz ~]# docker search mysql
NAME                              DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
mysql                             MySQL is a widely used, open-source relation…   10130               [OK]
mariadb                           MariaDB is a community-developed fork of MyS…   3727                [OK]
#可选项
--filter=STARS=3000  #搜索出的镜像就是STARS大于3000
docker pull下载镜像
#下载镜像 docker pull 镜像名[:tag]
[root@izuf65v2vdwv6tsfc0e0ltz ~]# docker pull mysql:5.7  
5.7: Pulling from library/mysql  #如果不写tag默认是最新版本
bb79b6b2107f: Pull complete
49e22f6fb9f7: Pull complete
842b1255668c: Pull complete
9f48d1f43000: Pull complete
c693f0615bce: Pull complete
8a621b9dbed2: Pull complete
0807d32aef13: Pull complete
f15d42f48bd9: Pull complete
098ceecc0c8d: Pull complete
b6fead9737bc: Pull complete
351d223d3d76: Pull complete
Digest: sha256:4d2b34e99c14edb99cdd95ddad4d9aa7ea3f2c4405ff0c3509a29dc40bcb10ef
Status: Downloaded newer image for mysql:5.7
docker.io/library/mysql:5.7    #真实地址
docker rmi删除镜像
docker rmi -f 容器id                    #删除指定的镜像
docker rmi -f 容器id 容器id 容器id       #删除多个镜像
docker rmi -f $(docker images -aq)      #删除全部的镜像

容器命令

新建容器并启动
docker run [可选参数] image
#参数说明
--name="Name"     #容器名称   tomcat1  tomcat2,用来区分容器
-d                #后台方式运行
-it               #使用交互方式运行,进行容器查看内容
-P              #使用容器的端口-P  8080:8080
-p              #指定随机端口
列出所有的运行的容器
docker ps   #列出当前正在运行的容器
-a          #列出当前正在运行的容器+历史运行过的容器
-n-?        #显示最近创建的容器
-q          #只显示容器的编号
退出容器
exit           #直接停止并退出
Ctrl + P + Q   #容器不停止退出
删除容器
docker rm id                    #删除指定容器,不能删除正在运行的容器,rm-f强制删除
docker rm -f $(docker ps -aq)   #删除所有容器 
启动和停止容器
docker start id    #启动容器
docker restart id  #重启容器
docker stop id     #停止容器
docker kill id     #强制停止容器

常用其他命令

后台启动容器
#docker run -d 镜像名
docker run -d centos
#docker容器使用后台运行,就必须要有一个前台进程,docker发现没有应用,就会自动停止
查看日志
docker logs
-tf              #显示所有日志
--tail number    #要显示日志条数
查看容器进程
#docker top 容器Id
[root@izuf65v2vdwv6tsfc0e0ltz ~]# docker top a38095c1b5f7
UID                 PID                 PPID                C                   STIME               TTY                 TIME                CMD
root                16481               16450               0                   20:04               pts/0               00:00:00            /bin/bash
查看镜像的元数据
docker inspect 容器id
进入当前正在运行的容器
#命令
docker exec -it 容器id bashShell
#测试
[root@izuf65v2vdwv6tsfc0e0ltz ~]# docker exec -it a38095c1b5f7 /bin/bash
[root@a38095c1b5f7 /]# ls
bin  dev  etc  home  lib  lib64  lost+found  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
#方式二
docker  attach 容器id
#docker exec     进入容器后开启一个新的终端,可以在里面操作(常用)
#docker  attach  进入容器正在执行的终端,不会启动新的进程
从容器内拷贝文件到主机上
docker cp 容器id: 容器内路径  目的地主机路径
#测试
[root@izuf65v2vdwv6tsfc0e0ltz /]# docker cp a38095c1b5f7:/test.java /opt/
[root@izuf65v2vdwv6tsfc0e0ltz /]# cd /opt/
[root@izuf65v2vdwv6tsfc0e0ltz opt]# ls
containerd  jvm.zip  test.java
[root@izuf65v2vdwv6tsfc0e0ltz opt]#

附一张字典图


字典图.png
上一篇下一篇

猜你喜欢

热点阅读