Docker常用命令汇总大全—Docker学习教程(4)

Java工具 潘老师 3年前 (2021-03-31) 1374 ℃ (0) 扫码查看

Dokcer里面有很多命令,全部的可以参考官方Reference文档
Docker常用命令汇总大全—Docker学习教程(4)
但是我们只需要掌握一些常用的命令即可:

预备:后台命令

针对CentOS7系统,我们对docker后台进程的常用操作命令如下:

#启动docker服务
systemctl start docker
#停止docker服务
systemctl stop docker
#重启docker服务
systemctl restart docker
#查看docker服务状态
systemctl status docker
#设置开机启动docker服务
systemctl enable docker

一、帮助命令

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

二、镜像命令

1)查询镜像

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

Docker常用命令汇总大全—Docker学习教程(4)

解释:
  • REPOSITORY:镜像的仓库源
  • TAG:镜像的标签
  • IMAGE ID:镜像的id
  • CREATED:镜像的创建时间
  • SIZE:镜像的大小
指令可选项:
-a, --all             Show all images (default hides intermediate images)(显示所有镜像)
--digests         Show digests(不常用)
-f, --filter filter   Filter output based on conditions provided(不常用)
--format string   Pretty-print images using a Go template(不常用)
--no-trunc        Don't truncate output(不常用)
-q, --quiet           Only show image IDs(只显示镜像ID)

比较常用的就是

docker images -aq

2)搜索镜像
官网仓库搜索镜像地址为 镜像仓库,我们也可以使用如下指令搜索:

docker search

Docker常用命令汇总大全—Docker学习教程(4)

可选项:
-f, --filter filter   Filter output based on conditions provided(过滤)
--format string   Pretty-print search using a Go template(不常用)
--limit int       Max number of search results (default 25)(不常用)
--no-trunc        Don't truncate output(不常用)

3)下载镜像

docker pull
注意:docker pull默认使用最新版,我们可以加上tag来指定不同的版本

比如:

#直接下载最新的mysql
docker pull mysql
#下载mysql5.7
docker pull mysql:5.7

Docker常用命令汇总大全—Docker学习教程(4)
Docker常用命令汇总大全—Docker学习教程(4)
4)删除镜像

#删除指定的镜像,可以根据id或名称
docker rmi -f 镜像id
#删除多个容器
docker rmi -f 镜像id 镜像id 镜像id 镜像id
#删除全部的镜像
docker rmi -f $(docker images -aq)

三、容器命令

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

docker pull centos

1)新建容器并启动

#命令格式
docker run [可选参数] image

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

#随机指定端口
-P

测试,启动并进入容器,执行如下指令:

docker run -it centos /bin/bash

ls查看容器内的centos。
2)从容器中退回主机

#直接容器停止并退出
exit
#退出容器但不停止容器
Ctrl + P +Q

3)列出所有运行的容器

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

#可选参数
#列出当前正在运行的容器+带出历史运行过的容器
-a
 #显示最近创建的容器
-n=数值
#只显示容器的编号
-q

4)删除容器

#删除指定的容器,不能删除正在运行的容器,如果要强制删除rm -f
docker rm 容器id
#删除所有的容器
docker rm -f $(docker ps -aq)
#或 删除所有的容器
docker ps -a -q | xargs docker rm

5)启动和停止容器的操作

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

四、其他常用命令

1)后台启动容器

#命令
docker run -d 镜像名
问题:

我们后台启动后,执行docker ps, 发现centos停止了,

原因在于:

docker 容器使用后台运行,就必须要有要一个前台进程,如果没有前台进程,docker会发现没有应用,就会自动停止。
2)查看日志

#命令
docker logs [可选参数] 容器id
#可选参数
#显示全部日志
-tf
#显示最后几条日志
--tail 数量

比如,我们查看某个容器的最后10条日志记录:

docker logs -tf --tail 10 fce6b89171bc

3)查看容器中进程信息

docker top 容器id

4)查看镜像的元数据

docker inspect 容器id

5)进入当前正在运行的容器
我们通常容器都是使用后台方式运行的,需要进入容器,修改一些配置

#方式1:进入容器后开启一个新的终端,可以在里面操作(常用)
docker exec -it 容器id bashShell
#方式2:进入容器正在执行的终端,不会启动新的进程!|
docker attach 容器id

6)从容器内拷贝文件到主机上

docker cp 容器id:容器内路径   目的的主机路径

五、Docker命令小结

Docker常用命令汇总大全—Docker学习教程(4)

#docker容器相关操作的命令
docker  create #创建一个容器但是不启动它
docker  run  #创建一个容器并启动它
docker stop #停止一个容器
docker start #启动一个停止状态的容器
docker  restart  #重启一个容器
docker  rm  #删除一个容器
docker  kill  #发送信号给容器
docker  attach #连接(进入)到一个正在运行的容器
docker wait  #阻塞一个容器,直到容器停止运行

#获取容器相关信息
docker  ps #显示状态运行位(up)的容器
docker  ps -a #显示所有的容器,包括运行(Up)和退出的(exited)
docker  inspect #深入容器内部获取容器所有信息
docker  logs #查看容器的日志(stdout/stderr)
docker  port#显示容器的端口映射
docker  top #显示容器的进程信息
docker  diff  #显示容器文件系统的前后的变化

#在容器内部执行命令
docker exec -it newdb  /bin/bash    #在newdb容器内部执行shell命令

#导出容器
docker  cp  #从容器里面向外拷贝文件
docker export #将容器整个文件系统导出为一个tar包,不带layers,tag等信息

#镜像操作
docker  p_w_picpaths  #显示内地所有的镜像列表
docker  import  #从一个tar包创建一个镜像,往往和export结合使用
docker  build #使用Dockfile 创建镜像(推荐)
docker commit #从容器创建镜像
docker  rmi #删除一个镜像
docker  load #从一个tar包创建一个镜像,和save配合使用
docker save #将一个镜像保存为一个tar包,带layers和tag信息
docker  history  #显示生成一个镜像的历史命令
docker  tag  #为镜像起一个别名

#镜像仓库操作
docker  login  #登陆到一个registry
docker  search #从registry仓库搜索镜像
docker  pull #从仓库下载镜像到本地
docker  push #将一个镜像push到registry仓库中

更全的Docker指令及其可选参数说明,可参考菜鸟教程Docker指令大全


版权声明:本站文章,如无说明,均为本站原创,转载请注明文章来源。如有侵权,请联系博主删除。
本文链接:https://www.panziye.com/java/2879.html
喜欢 (1)
请潘老师喝杯Coffee吧!】
分享 (0)
用户头像
发表我的评论
取消评论
表情 贴图 签到 代码

Hi,您需要填写昵称和邮箱!

  • 昵称【必填】
  • 邮箱【必填】
  • 网址【可选】