Docker命令

简介: Docker命令

Docker命令

帮助启动类命令

  • 启动docker

    systemctl start docker
  • 停止docker

    systemctl stop docker
  • 重启docker

    systemctl restart docker
  • 查看docker状态

    systemctl status docker
  • 开机启动

    systemctl enable docker
  • 查看概要信息

    docker info
  • 查看docker总体帮助文档

    docker --help
  • 查看docker命令帮助文档

    docker 具体命令 --help

镜像命令

  • docker images 列出本地主机上的镜像

    表头参数 说明
    REPOSITORY 表示镜像的仓库源
    TAG 镜像标签的版本号
    IMAGE ID 镜像ID
    CREATED 镜像创建时间
    SIZE 镜像大小
  • 说明:同一仓库源可以有多个TAG版本,代表这个仓库源的不同个版本,我们使用REPOSITORY:TAG来定义不同的镜像,如果不指定镜像标签,将默认使用latest镜像
  • option说明

      -a:列出本地所有镜像(包含历史映像层)
      -q:只显示镜像ID
  • docker search 镜像名称

    • 作用:从docker hub搜索镜像
    表头信息 说明
    NAME 镜像名称(包含发布包名)
    DESCRIPTION 镜像说明
    STARS 点赞数量
    OFFICIAL 是否官方认证
    AUTOMATED 是否是自动构建的
  • options说明

      --limit:只列出N个镜像,默认25个
      示例:docker search --limit 5 redis
  • docker pull 镜像名称

    • 作用:下载镜像
    • 语法

      docker pull 镜像名称[:TAG]
    • 说明:没有TAG相当于最新版,等价于docker pull 镜像名称:latest
  • docker system df

    • 作用:查看镜像/容器/数据卷所占空间
  • docker rmi 镜像名称|镜像ID

    • 作用:删除镜像
    • options

      -f:强制删除该镜像
    • 删除多个镜像

      docker rmi -f 镜像名1:TAG 镜像名2:TAG ...
    • 删除全部

      docker rmi -f $(docker -images -qa)   # $()嵌套执行命令将结果传递给外层命令
什么是虚悬镜像?

虚悬镜像是指仓库和标签都未None的镜像,一般为中途构建失败的镜像,建议删除

容器操作命令

  • docker run [options] image [command] [arg...]

    • 作用:新建+启动容器
    • options:

      参数 作用
      --name='xxx' 为容器指定一个名称,不指定则为随机名称
      -d 后台运行容器,并返回容器ID,既启动守护式容器(后台运行)
      -i 以交互模式运行容器,通常与-t同时使用 (interactive)
      -t 为容器重新分配一个伪输入终端,通常与-i同时使用(既启动带有伪终端的交互式容器)(terminal)
      -P 随机端口映射,大写P
      -p 指定端口映射,小写p
    • 端口映射示例

      -p 主机端口:容器端口  # -p 80:8080
      -p 主机IP:主机端口:容器端口 #配置监听地址 -p 192.168.1.2:80:8080
    • 启动交互式容器示例

      docker run -it ubuntu /bin/bash   #使用镜像ubuntu:latest以交互模式启动容器,在容器内执行/bin/bash命令
      exit #退出交互式容器
  • docker ps [options]

    • 作用:列出当前所有正在运行的容器
    • options说明

      参数 作用
      -a 列出当前所有正在运行的容器+历史上运行过的
      -l 显示最近创建的容器
      -n 显示最近创建的n个容器
      -q 静默模式,只显示容器编号
  • exit | ctrl+p+q

    • 作用:退出容器
    • 说明:在容器内使用exit退出,容器会停止;使用ctrl+p+q退出,容器不停止
  • docker start 容器ID | 容器名

    • 作用:启动已经停止运行的容器
  • docker restart 容器ID | 容器名

    • 作用:重启容器
  • docker stop 容器ID | 容器名

    • 作用:停止容器
  • docker kill 容器ID | 容器名

    • 作用:强制停止容器
  • docker rm 容器ID

    • 作用:删除已停止的容器
    • options: -f 强制删除
    • 说明:一次性删除多个容器实例可以使用以下命令

      docker rm -f $(docker ps -q -a)
      docker ps -q -a | xargs docker rm
  • docker run -d 容器名

    • 作用:启动守护式容器(后台服务器),在大部分场景下,我们希望docker服务是在后台运行的,所以可以通过-d指定容器的后台运行模式
    • 示例

      docker run -d redis #后台启动redis
      docker ps -a #查看容器是否在运行
    • 注意项:启动守护式容器必须有一个前台阻塞式进程,否则容器会在命令执行完成后自动退出,这是docker的机制问题
  • docker logs 容器名|容器ID

    • 作用:查看容器日志
  • docker top 容器名|容器ID

    • 作用:查看容器内正在运行的进程
  • docker inspect 容器ID

    • 作用:查看容器内部细节
与正在运行的后台容器进行交互
  • 方式1:docker exec -it 容器ID /bin/bash

    • 作用:以前台交互的方式进入后台容器
  • 方式2:docker attach 容器ID (已过期)

    • 作用:重新进入后台容器

区别:docker exec -it在使用exec退出后容器扔在运行,docker attach运行的容器在使用exec退出后容器会停止运行,所以一般推荐使用exec的方式进入守护式容器

  • docker cp 容器ID:容器文件路径 目标主机路径

    • 作用:将容器内文件拷贝到主机
    • 示例

      docker cp 32a88a902c9a:/var/a.txt ./
  • docker export 容器ID > 文件名.tar

    • 作用:导出容器的内容作为一个tar归档文件
    • 示例

      docker export 32a88a902c9a > ub.tar
  • cat 文件名.tar | docker import - 镜像用户/镜像名:镜像版本号

    • 作用:从tar包中的内容创建一个新的文件系统再导入为镜像
    • 示例

      cat ub.tar | docker import - zss/myubuntu:1.0
      docker images
      
      REPOSITORY     TAG       IMAGE ID       CREATED              SIZE
      zss/myubuntu   1.0       1541c623b4dc   About a minute ago   72.8MB
Docker镜像commit操作
  • 说明:docker镜像层都是只读的,容器层是可写的,当容器启动时,一个新的可写层会被加载到镜像的顶部,这一层通常称为容器层,容器层之下的都叫镜像层
  • docker commit的作用:提交容器副本使之成为一个新的镜像
  • 语法

    docker commit -m="描述信息" -a="作者" 容器ID 镜像名:[标签名]
相关文章
|
2月前
|
安全 Docker 容器
|
1天前
|
NoSQL 关系型数据库 MySQL
《docker高级篇(大厂进阶):4.Docker网络》包括:是什么、常用基本命令、能干嘛、网络模式、docker平台架构图解
《docker高级篇(大厂进阶):4.Docker网络》包括:是什么、常用基本命令、能干嘛、网络模式、docker平台架构图解
74 56
《docker高级篇(大厂进阶):4.Docker网络》包括:是什么、常用基本命令、能干嘛、网络模式、docker平台架构图解
|
2月前
|
网络安全 数据安全/隐私保护 Docker
|
8天前
|
监控 NoSQL 时序数据库
《docker高级篇(大厂进阶):7.Docker容器监控之CAdvisor+InfluxDB+Granfana》包括:原生命令、是什么、compose容器编排,一套带走
《docker高级篇(大厂进阶):7.Docker容器监控之CAdvisor+InfluxDB+Granfana》包括:原生命令、是什么、compose容器编排,一套带走
130 77
|
5天前
|
关系型数据库 MySQL Docker
《docker高级篇(大厂进阶):5.Docker-compose容器编排》包括是什么能干嘛去哪下、Compose核心概念、Compose使用三个步骤、Compose常用命令、Compose编排微服务
《docker高级篇(大厂进阶):5.Docker-compose容器编排》包括是什么能干嘛去哪下、Compose核心概念、Compose使用三个步骤、Compose常用命令、Compose编排微服务
56 24
|
1月前
|
Java 应用服务中间件 Linux
【Docker容器化技术】docker安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库
本文主要讲解了Docker的安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库以及Docker容器虚拟化与传统虚拟机比较。
468 11
【Docker容器化技术】docker安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库
|
7天前
|
关系型数据库 MySQL Docker
《docker高级篇(大厂进阶):5.Docker-compose容器编排》包括是什么能干嘛去哪下、Compose核心概念、Compose使用三个步骤、Compose常用命令、Compose编排微服务
《docker高级篇(大厂进阶):5.Docker-compose容器编排》包括是什么能干嘛去哪下、Compose核心概念、Compose使用三个步骤、Compose常用命令、Compose编排微服务
62 6
|
3月前
|
Linux Docker 容器
Docker操作 :容器命令
Docker操作 (四)
205 56
|
2月前
|
存储 监控 安全
|
2月前
|
存储 关系型数据库 MySQL