Docker常用命令学习和总结

news2025/1/21 10:15:28

文章目录

  • 0.前言
    • 1. 镜像(Images)相关命令:
      • 1. `docker images`:列出本地的镜像。
      • 2. `docker pull`:从镜像仓库中下载镜像。
      • 3. `docker push`:将本地镜像推送到镜像仓库。
      • 4. `docker build`:根据 Dockerfile 构建镜像。
      • 5. `docker tag`:给镜像打标签。
      • 6. `docker rmi`:删除本地的一个或多个镜像。
    • 2. 容器(Containers)相关命令:
      • 1. `docker ps`:
      • 2. `docker run`:
      • 3. `docker start`:
      • 4. `docker stop`:
      • 5. `docker restart`:
      • 6. `docker rm`:
      • 7. `docker logs`:
      • 8. `docker exec`:
      • 9. `docker pause`:
      • 10. `docker unpause`:
      • 11. `docker inspect`:
      • 12. `docker top`:
    • 3. 仓库(Registry)相关命令:
    • 4. 网络(Network)相关命令:
      • 1. `docker network ls`:
      • 2. `docker network create`:
      • 3. `docker network connect`:
      • 4. `docker network disconnect`:
    • 5. 数据卷(Volumes)相关命令:
  • 1.参考文档

0.前言

学习并掌握 Docker 命令是使用 Docker 的关键,因为通过命令行工具,你可以管理容器、构建镜像、网络配置等。在本文中,我整理了一些常用的 Docker 命令,为大家提供一个学习和总结的参考 这里的命令示例适用于 Docker 19.03 版本及以上

在这里插入图片描述
Docker 命令可以根据其功能和作用进行分类。下面是一些常见的 Docker 命令分类:

1. 镜像(Images)相关命令:

  • docker images:列出本地的镜像。
  • docker pull:从镜像仓库中下载镜像。
  • docker push:将本地镜像推送到镜像仓库。
  • docker build:根据 Dockerfile 构建镜像。
  • docker tag:给镜像打标签。
  • docker rmi:删除本地的一个或多个镜像。
    以下是针对镜像(Images)相关命令的详细解释:

1. docker images:列出本地的镜像。

  • 参数解释:无
  • 示例:docker images
  • 结果示例:
    REPOSITORY    TAG       IMAGE ID       CREATED         SIZE
    nginx         latest    abcdef123456   2 weeks ago     138MB
    myapp         latest    789ghi456jkl   4 days ago      250MB
    
  • 解释:该命令用于列出本地已经下载的镜像。它会显示镜像的仓库名(REPOSITORY)、标签(TAG)、镜像ID(IMAGE ID)、创建时间(CREATED)和大小(SIZE)等信息。

2. docker pull:从镜像仓库中下载镜像。

  • 参数解释:镜像名称
  • 示例:docker pull nginx:latest
  • 结果示例:从镜像仓库中下载最新版的 NGINX 镜像。
  • 解释:该命令用于从指定的镜像仓库中下载镜像。您需要指定镜像的名称和标签,例如 nginx:latest。Docker 会自动从默认的镜像仓库(如 Docker Hub)中下载镜像。

3. docker push:将本地镜像推送到镜像仓库。

  • 参数解释:镜像名称
  • 示例:docker push myusername/myimage:latest
  • 结果示例:将本地的镜像推送到名为 “myusername/myimage” 的镜像仓库。
  • 解释:该命令用于将本地的镜像推送到指定的镜像仓库。您需要指定镜像的名称和标签,并且需要在名称前加上仓库用户名(如 Docker Hub 的用户名)。在执行推送之前,您需要先登录到目标镜像仓库。

4. docker build:根据 Dockerfile 构建镜像。

  • 参数解释:
    • -t:为镜像指定名称和标签
    • .:Dockerfile 所在的目录路径
  • 示例:docker build -t myapp:latest .
  • 结果示例:根据当前目录下的 Dockerfile 构建名为 “myapp” 的镜像。
  • 解释:该命令用于根据 Dockerfile 构建镜像。您需要在命令中使用 -t 参数为镜像指定名称和标签,并且需要提供包含 Dockerfile 的目录路径(通常为 .,表示当前目录)。

5. docker tag:给镜像打标签。

  • 参数解释:现有镜像名称和标签、新镜像名称和标签
  • 示例:docker tag myapp:latest myusername/myapp:1.0
  • 结果示例:为现有的 “myapp:latest” 镜像打上新的标签 “myusername/myapp:1.0”。
  • 解释:该命令用于给已有的镜像打上新的标签。您需要指定现有镜像的名称和标签,以及新的镜像名称和标签。

6. docker rmi:删除本地的一个或多个镜像。

  • 参数解释:镜像名称或镜像ID
  • 示例:docker rmi myapp:latest
  • 结果示例:删除名为 “myapp:latest” 的本地镜像。
  • 解释:该命令用于删除本地的一个或多个镜像。您需要提供要删除的镜像的名称或镜像ID。如果要删除多个镜像,可以在命令中同时指定多个镜像名称或镜像ID。

2. 容器(Containers)相关命令:

  • docker ps:列出正在运行的容器。
  • docker run:创建并运行一个容器。
  • docker start:启动一个已停止的容器。
  • docker stop:停止一个运行中的容器。
  • docker restart:重启一个容器。
  • docker rm:删除一个或多个容器。
  • docker logs:查看容器的日志。
  • docker exec:在运行中的容器中执行命令。
  • docker pause:暂停一个运行中的容器。
  • docker unpause:取消暂停一个容器。
  • docker inspect:获取容器的详细信息。
  • docker top:查看容器内运行的进程。
    当然,以下是常用 Docker 命令的用法示例:

1. docker ps

列出正在运行的容器。

docker ps

使用 -a 选项可以列出所有容器,包括已停止的容器。

docker ps -a

2. docker run

创建并运行一个容器。

docker run -d -p 8080:80 nginx

上述命令创建并运行一个名为 nginx 的容器,将容器的 80 端口映射到主机的 8080 端口,并在后台运行。

3. docker start

启动一个已停止的容器。

docker start <容器ID/容器名称>

4. docker stop

停止一个运行中的容器。

docker stop <容器ID/容器名称>

5. docker restart

重启一个容器。

docker restart <容器ID/容器名称>

6. docker rm

删除一个或多个容器。

docker rm <容器ID/容器名称>

可以同时删除多个容器:

docker rm <容器ID1> <容器ID2>

使用 -f 选项可以强制删除正在运行的容器。

7. docker logs

查看容器的日志。

docker logs <容器ID/容器名称>

可以使用 -f 选项实时跟踪日志输出。

docker logs -f <容器ID/容器名称>

8. docker exec

在运行中的容器中执行命令。

docker exec -it <容器ID/容器名称> <命令>

使用 -it 选项可以进入交互模式。

9. docker pause

暂停一个运行中的容器。

docker pause <容器ID/容器名称>

10. docker unpause

取消暂停一个容器。

docker unpause <容器ID/容器名称>

11. docker inspect

获取容器的详细信息。

docker inspect <容器ID/容器名称>

12. docker top

查看容器内运行的进程。

docker top <容器ID/容器名称>

3. 仓库(Registry)相关命令:

  • docker login:登录到一个镜像仓库。
  • docker logout:登出一个镜像仓库。
  • docker search:在镜像仓库中搜索镜像。

4. 网络(Network)相关命令:

当然,以下是一些与 Docker 网络相关的详细输出命令:

1. docker network ls

列出 Docker 网络。

docker network ls

输出将显示网络的ID、名称、驱动程序和范围。

2. docker network create

创建一个 Docker 网络。

docker network create my-network

上述命令将创建一个名为 “my-network” 的网络。

可以通过添加选项来指定网络的驱动程序、子网范围等。

docker network create --driver bridge --subnet 172.18.0.0/16 my-network

上述命令将创建一个使用桥接驱动程序和指定子网范围的网络。

3. docker network connect

将容器连接到一个网络。

docker network connect my-network my-container

上述命令将将名为 “my-container” 的容器连接到名为 “my-network” 的网络。

4. docker network disconnect

将容器从一个网络断开。

docker network disconnect my-network my-container

上述命令将将名为 “my-container” 的容器从名为 “my-network” 的网络断开。

5. 数据卷(Volumes)相关命令:

  • docker volume ls:列出 Docker 数据卷。
  • docker volume create:创建一个 Docker 数据卷。
  • docker volume inspect:查看数据卷的详细信息。
  • docker volume rm:删除一个 Docker 数据卷。

1.参考文档

  1. Docker 官方文档:https://docs.docker.com/
    官方文档 提供了详细的文档、教程和指南,覆盖了 Docker 的各个方面,包括安装、使用、管理容器、构建镜像等。

  2. Docker 教程 - 菜鸟教程:https://www.runoob.com/docker/docker-tutorial.html
    菜鸟教程提供了一个简单易懂的 Docker 教程,适合初学者入门。它包含了 Docker 的基础知识、常用命令和实例演示,帮助你快速上手 Docker。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/895476.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

黑客拍卖”访问权限“,最高要价 12 万美金

Bleeping Computer 网站披露&#xff0c;某黑客声称入侵了一家大型拍卖行的内部网络系统&#xff0c;并向愿意支付 12 万美元的人提供访问权限。 据悉&#xff0c;安全研究人员对 72 个帖子进行抽样分析时&#xff0c;在一个以提供初始访问代理&#xff08;IAB&#xff09;市场…

每天一道leetcode:剑指 Offer 55 - II. 平衡二叉树(适合初学者递归)

今日份题目&#xff1a; 输入一棵二叉树的根节点&#xff0c;判断该树是不是平衡二叉树。如果某二叉树中任意节点的左右子树的深度相差不超过1&#xff0c;那么它就是一棵平衡二叉树。 示例1 给定二叉树 [3,9,20,null,null,15,7] 3/ \9 20/ \15 7 返回 true 。 示例2 …

Centos安装搜狗输入法

目录 1、切换到root 2、卸载ibus&#xff08;如果已经卸载&#xff0c;可以忽略该步骤&#xff09; 3、安装epel源 4、安装fcitx 5、安装拼音输入法 6、安装依赖包 7、安装搜狗输入法 8、安装Alien 9、deb包 转 rpm包 (在deb包目录下或指定deb包目录) 10、安装转换的…

初学者SpringBoot+Vue打通前后端详细步骤(从零开始)

目录 前言介绍 一、后端SpringBoot项目创建 &#xff08;一&#xff09;springboot后端实现增删改查 二、前端Vue项目的创建 &#xff08;一&#xff09;下载必要的环境&#xff08;有则跳过&#xff09; &#xff08;二&#xff09;创建vue项目并使用Element-ui 三、前…

E96系列电阻阻值和代码、乘数对照表

1、为什么要用代码表示&#xff1f; 0805封装还可以简单易懂写下四位丝印&#xff0c;比如10K的1002&#xff0c;但0603的封装上面再想写下四位丝印就没空间了&#xff0c;就算写了也不容易看不清。 2、E96系列电阻阻值和代码、乘数对照表 下面是E96系列的对照表&#xff0c;…

SVG在线编辑器TOP5,这些工具你都得知道!

随着响应式网站设计的普及,SVG这种矢量图格式越来越受欢迎。SVG可以使图像在任何设备上展示效果出色。那么有哪些值得推荐的SVG在线编辑器呢?本文整理了5款热门实用的SVG在线编辑工具,它们功能强大,甚至可以替代Photoshop。这些SVG编辑器值得设计师们亲自试用,相信能给大家带来…

AR/VR眼镜转接器方案,实现同时传输视频快充方案

简介 虚拟现实头戴显示器设备&#xff0c;简称VR头显VR眼镜&#xff0c;是利用仿真技术与计算机图形学人机接口技术多媒体技术传感技术网络技术等多种技术集合的产品&#xff0c;是借助计算机及最新传感器技术创造的一种崭新的人机交互手段。VR头显VR眼镜是一个跨时代的产品。…

Linux——KVM虚拟化

目录标题 虚拟化技术虚拟化技术发展案例KVM简介KVM架构及原理KVM原理KVM虚拟化架构/三种模式虚拟化前、虚拟化后对比KVM盖中盖套娃实验 虚拟化技术 通过虚拟化技术将一台计算机虚拟为多台逻辑计算机&#xff0c;在一台计算机上同时运行多个逻辑计算机&#xff0c;同时每个逻辑…

寻找宝藏【SGOI-14】

题目描述 【背景】 据说在意大利的米兰市的地下&#xff0c;埋藏着一堆的宝藏。一天&#xff0c;一个名叫 Shevchenko 的人来到这地下宝库&#xff0c;准备把所有的宝藏都搬回家。当他来到这里时&#xff0c;发现这里是一个迷宫&#xff0c;宝藏埋藏在各个角落&#xff0c;在另…

【马蹄集】第二十三周——进位制专题

进位制专题 目录 MT2186 二进制&#xff1f;不同&#xff01;MT2187 excel的烦恼MT2188 单条件和MT2189 三进制计算机1MT2190 三进制计算机2 MT2186 二进制&#xff1f;不同&#xff01; 难度&#xff1a;黄金    时间限制&#xff1a;1秒    占用内存&#xff1a;128M 题目…

vue3-模板中的变化

v-model vue2比较让人诟病的一点就是提供了两种双向绑定&#xff1a;v-model和.sync&#xff0c;在vue3中&#xff0c;去掉了.sync修饰符&#xff0c;只需要使用v-model进行双向绑定即可。 为了让v-model更好的针对多个属性进行双向绑定&#xff0c;vue3作出了以下修改 当对自…

SpreadJS 16.2 and SpreadJS 16.1.5 Crack

SpreadJS 16.2 SpreadJS SpreadJS 是一个完整的企业 JavaScript 电子表格解决方案&#xff0c;用于创建财务报告和仪表板、预算和预测模型、科学、工程、医疗保健、教育、科学实验室笔记本和其他类似的 JavaScript 业务应用程序。利用高速计算引擎和 19 种语言的 500 多个 Exce…

源码低代码开发工具:JVS轻应用的基础介绍(OA系统、逻辑编排)

JVS低代码开发平台提供了大量的可配置组件和预先集成的功能&#xff0c;开发人员可以通过拖拽和设置属性的方式&#xff0c;快速搭建应用程序的前端界面和交互逻辑。同时&#xff0c;低代码平台也提供了丰富的后端服务和集成能力&#xff0c;可以轻松地与现有的系统和第三方服务…

Vue 2 动态组件和异步组件

先阅读 【Vue 2 组件基础】中的初步了解动态组件。 动态组件与keep-alive 我们知道动态组件使用is属性和component标签结合来切换不同组件。 下面给出一个示例&#xff1a; <!DOCTYPE html> <html><head><title>Vue 动态组件</title><scri…

夹具、治具、模具零件加工、云MES系统解决方案

夹具、治具、模具零件、自动化零件属于典型的多品种、小批量生产模式&#xff0c;模具零件和自动化零件一般属于单件生产或者散件生产&#xff0c;大部分机械加工企业都有这样的管理困惑&#xff0c;市面上通用的ERP系统和MES系统都无法满足这种多品种小批量、单件加工或散件加…

mysql从传统模式切到GTID模式后启动主从,主从异常报错1236

一 前言 MySQL 的主从复制作为一项高可用特性&#xff0c;用于将主库的数据同步到从库&#xff0c;在维护主从复制数据库集群的时候&#xff0c;作为专职的MySQL DBA&#xff0c;笔者相信大多数人都会遇到“Got fatal error 1236 from master when reading data from binary …

校园跑腿市场行情分析

随着社会的发展和人们生活节奏的加快&#xff0c;校园跑腿市场逐渐兴起并呈现出蓬勃发展的态势。在这个快节奏的时代&#xff0c;越来越多的学生需要在繁忙的学业之外完成各种任务&#xff0c;而校园跑腿服务正是应运而生&#xff0c;为他们提供了便利和时效。本文将从需求方面…

「追风少年」——迈克尔·詹姆斯·欧文要来中国啦!

亚运会前夕&#xff0c;8月23日~25日&#xff0c;世界著名球星迈克尔詹姆斯欧文&#xff08;Michael James Owen&#xff09;将来到杭州和球迷朋友们一起开展签售会以及举办他在中国的直播首秀&#xff0c;届时将有超头部主播加持&#xff0c;享誉世界的「追风少年」将在亚运会…

【vue】项目基础环境搭建、css样式重置与公用

nodejs环境 nodejs是当下前端工程化开发必不可少的环境, 使用 nodejs的 npm功能来管理依赖包 查看node 和 npm的版本 node -v #查看node版本npm -v #查看npm版本 git版本控制 git版本控制工具是目前最为流行的分布式版本管理工具,代码的**提交, 检出, 日志**, 都需要通过git完…

深度分析纳斯达克上市公司慧择的竞争优势和投资价值

来源&#xff1a;猛兽财经 作者&#xff1a;猛兽财经 一、保险行业的现状、竞争与机遇 在疫情期间&#xff0c;很多行业的经营理念与经营方式&#xff0c;甚至客户行为、客户需求都发生了变化&#xff0c;进而催生出新的机遇。保险行业亦是如此&#xff0c;受疫情影响&#xf…