docker的常用命令详解

 更新时间:2023年04月12日 10:09:08   作者:拒绝冗余  
这篇文章主要列举了docker的常用命令,本文给大家介绍的非常详细,有需要的朋友可以参考阅读

前言

本篇文章不仅仅是生硬的命令大全,也是我个人对docker学习使用的一步步总结,通过一个个示例来加深各位看官对docker相关命令的理解以及记忆,在有趣的同时穿插知识点,您花费半小时时间,照着我的思路走一遍,一定会有所收获。

docker常用命令

列举常用的命令,不常用的已省略。

1 启停类/帮助 命令

  • 启动docker: systemctl start docker
  • 停止docker: systemctl stop docker
  • 重启docker: systemctl restart docker
  • 查看docker状态: systemctl status docker
  • 开机启动: systemctl enable docker
  • 查看docker概要信息: docker info
  • 查看docker总体帮助文档: docker --help
  • 查看docker命令帮助文档: docker 具体命令 --help

2镜像命令

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

同一仓库源可以有多个 TAG版本,代表这个仓库源的不同个版本,我们使用 REPOSITORY:TAG 来定义不同的镜像。

如果你不指定一个镜像的版本标签,例如你只使用 ubuntu,docker 将默认使用 ubuntu:latest 镜像

  • 搜索镜像: docker search [OPTIONS] 镜像名字

OPTIONS说明:
–limit : 只列出N个镜像,默认25个
如docker search --limit 5 redis

  • 下载镜像: docker pull 镜像名称[:TAG] #没有TAG就是最新版
  • 查看镜像/容器/数据卷所占的空间: docker system df
  • 删除镜像: docker rmi 镜像ID

删除单个
docker rmi -f 镜像ID
删除多个
docker rmi -f 镜像名1:TAG 镜像名2:TAG
删除全部

docker rmi -f $(docker images -qa)

面试知识点:什么docker虚悬镜像?

答:仓库名、标签都是<none>的镜像,俗称虚悬镜像dangling image

3 容器命令

  • 有镜像才能有容器,这里假设已通过 docker pull ubuntu 命令下载了ubuntu镜像,后面的命令介绍基于此镜像。
  • 新建并启动容器:docker run [OPTIONS] ***IMAGE*** [COMMAND] [ARG...]

 OPTIONS说明(常用):有些是一个减号(短杠),有些是两个减号
–name=“容器新名字” 为容器指定一个名称;
-d: 后台运行容器并返回容器ID,也即启动守护式容器(后台运行);
-i:以交互模式运行容器,通常与 -t 同时使用;
-t:为容器重新分配一个伪输入终端tty,通常与 -i 同时使用;
也即启动交互式容器(前台有伪终端,等待交互);

  •  启动交互式容器(前台命令行)

#使用镜像centos:latest以交互模式启动一个容器,在容器内执行/bin/bash命令。

docker run -it centos /bin/bash

说明:/bin/bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 /bin/bash。

  • 列出当前所有正在运行的容器: docker ps
  • 退出容器

 ·两种退出方式
·run进去容器,exit退出,容器停止
·run进去容器,ctrl+p+q退出,容器不停止

  • 容器启停

 docker start 容器ID或者容器名

docker restart 容器ID或者容器名

docker stop 容器ID或者容器名

  • 删除容器

删除已停止的容器
docker rm 容器ID
一次性删除多个容器实例
docker rm -f $(docker ps -a -q)

docker ps -a -q | xargs docker rm

  • 启动守护式容器(后台服务端运行) docker run -d 容器名

好习惯:每次运行容器之后通过docker ps看一下容器是否启动成功了

问题:docker run -d centos启动centos守护容器,然后docker ps -a 进行查看, 会发现容器已经退出?

说明: 有的Docker容器后台运行,就必须有一个前台进程.容器运行的命令如果不是那些一直挂起的命令(比如运行top,tail),就是会自动退出的。
这个是docker的机制问题,最佳的解决方案是,将你要运行的程序以前台进程的形式运行,常见就是命令行模式,表示我还有交互操作,别中断。

如后台运行nginx命令:

docker run -di --name=nginx -p 80:80 nginx

  • 9. 查看容器日志:docker logs 容器ID

查看容器内部细节,返回JSON格式数据:docker inspect 容器ID

  • 10. 退出容器后重新进入(进入正在运行的容器并以命令行交互):

docker exec -it 容器ID /bin/bash
docker attach 容器ID 不推荐

上述两个容器进入命令exec和attach的区别:

  • attach 直接进入容器启动命令的终端,不会启动新的进程,用exit退出,会导致容器的停止。
  • exec 是在容器中打开新的终端,并且可以启动新的进程 用exit退出,不会导致容器的停止。

推荐大家使用 docker exec 命令,因为退出容器终端,不会导致容器的停止。

  • 11. 从容器内拷贝文件到主机上: docker cp 容器ID:容器内路径 目的主机路径
  • 12. 导入导出容器
  •       export 导出容器的内容留作为一个tar归档文件[对应import命令]
  •      import 从tar包中的内容创建一个新的文件系统再导入为镜像[对应export]

案例

docker export 容器ID > 文件名.tar
cat 文件名.tar | docker import - 镜像用户/镜像名:镜像版本号

结语

一个人可以走很快,但是一群人可以走更远,大家一起抱团学习啊。

到此这篇关于docker的常用命令详解的文章就介绍到这了,更多相关docker常用命令内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Docker容器的使用方法简单示例

    Docker容器的使用方法简单示例

    这篇文章主要介绍了Docker容器的使用方法简单示例,包括拉取镜像、运行镜像、测试容器内的应用、检查主机端口及停止容器的操作方法,本文给大家介绍的非常详细,需要的朋友可以参考下
    2021-07-07
  • 浅谈docker容器镜像的保存位置

    浅谈docker容器镜像的保存位置

    在使用Docker时,我们常常需要从远程仓库中拉取镜像,并将其保存到本地储存位置,本文主要介绍了浅谈docker容器镜像的保存位置,具有一定的参考价值,感兴趣的可以了解一下
    2023-11-11
  • 连接docker里面的mysql失败解决方法

    连接docker里面的mysql失败解决方法

    这篇文章主要介绍了连接docker里面的mysql失败解决方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • Docker Compose安装本地maven方式

    Docker Compose安装本地maven方式

    本文介绍了如何使用Docker Compose安装Maven,并提供了脚本和配置路径,通过运行Docker Compose,可以查看安装结果,进入容器后,可以查看Maven版本
    2024-12-12
  • Ubuntu 下通过 Docker 部署 NGINX 服务器的步骤详解

    Ubuntu 下通过 Docker 部署 NGINX 服务器的步骤详解

    今天分享如何在三丰云免费服务器上使用Docker部署NGINX服务器,Docker容器化平台提升应用可移植性,NGINX作为高性能HTTP和反向代理服务器,感兴趣的朋友跟随小编一起看看吧
    2025-02-02
  • Docker启动失败报错Failed to start Docker Application Container Engine的解决办法

    Docker启动失败报错Failed to start Docker Application Containe

    最近在启动Docker的时候发现了个错误,所以下面这篇文章主要给大家介绍了关于Docker启动失败报错Failed to start Docker Application Container Engine的解决办法,需要的朋友可以参考下
    2022-08-08
  • Docker安装及阿里云镜像加速器的配置方法

    Docker安装及阿里云镜像加速器的配置方法

    这篇文章主要介绍了Docker安装及阿里云镜像加速器配置方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-06-06
  • Docker挂载资料卷保存MySQL数据

    Docker挂载资料卷保存MySQL数据

    这篇文章介绍了Docker挂载资料卷保存MySQL数据的方法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-01-01
  • 使用Docker构建企业级自定义镜像的方法

    使用Docker构建企业级自定义镜像的方法

    这篇文章主要介绍了使用Docker构建企业级自定义镜像的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05
  • Docker部署ElasticSearch和ElasticSearch-Head的实现

    Docker部署ElasticSearch和ElasticSearch-Head的实现

    这篇文章主要介绍了Docker部署ElasticSearch和ElasticSearch-Head的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12

最新评论