[Docker][Docker常用命令]详细讲解

目录

  • 1.帮助命令
  • 2.镜像命令
  • 3.容器命令
  • 4.卷命令
  • 5.常用命令


1.帮助命令

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

2.镜像命令

  • 查看所有本地的主机上的镜像
    • 命令docker images [OPTIONS] [REPOSITORY][:TAG]]
    • 关键参数
      • -a, --all:列出本地所有的镜像
      • -q, --quiet:只显示镜像的id
  • 搜索镜像
    • 命令docker search 镜像名
    • 参数--filter=STARS=3000:搜索出来的镜像是STARS大于3000的
  • 下载镜像docker pull 镜像名 [:tag]
  • 删除镜像docker rmi
    docker rmi -f 容器id                # 删除指定的容器
    docker rmi -f 容器id 容器id 容器id   # 删除多个容器
    docker rmi -f $(docker images -aq) # 删除全部的容器
    
  • 为镜像创建新的标签docker tag 镜像id 命名容器

3.容器命令

  • 新建容器并启动
    • 命令docker run [OPTIONS] image
    • 参数
      • --name="Name":容器名字,用来区分容器
      • -d:后台方式运行
      • -it:使用交互方式运行,进入容器查看内容
      • -p:指定容器的端口
        -p ip:主机端口:容器端口
        -p 主机端口:容器端口(常用)
        -p 容器端口
        
      • -P:随即指定端口
  • 启动和停止容器的操作
    docker start 容器id   # 启动容器
    docker restart 容器id # 重启容器
    docker stop 容器id    # 停止当前正在运行的容器
    docker kill 容器id    # 强制停止当前容器
    
  • 查看容器,列出所有的正在运行的容器
    • 命令docker ps
    • 参数
      • -a:列出当前正在运行的容器 + 带出历史运行过的容器
      • -n=?:显示最近创建的容器
      • -q:只显示容器的编号
  • 退出容器
    • exit:直接停止并退出容器
    • Ctrl + P + Q:容器不停止退出
  • 删除容器docker rm
    docker rm 容器id # 删除指定容器,不能删除正在运行的容器,如果要强制删除 rm -f
    docker rm -f $(docker ps -aq)     # 删除所有的容器
    docker ps -a -q | xargs docker rm # 删除所有的容器
    
  • 查看日志
    • 命令docker logs 容器id
    • 参数
      • -tf:显示日志
      • --tail number:要显示日志条数
  • 查看容器中进程信息psdocker top 容器id
  • 查看镜像的元数据docker inspect 容器id
  • 进入容器当前正在运行的容器
    • docker exec -it 容器id bashshell
      • 进入容器后开启一个新的终端,可以在里面操作(常用)
    • docker attach
      • 进入容器正在执行的终端,不会启动新的进程
  • 从容器内拷贝文件到主机中docker cp 容器id:容器内路径 目的主机路径

4.卷命令

  • 查看数据卷docker volume ls
  • 删除数据卷docker volume rm
  • 查看数据卷详情docker volume inspect
  • 删除未使用的数据卷docker volume prune

5.常用命令

命令功能
attach当前shell下,连接指定运行镜像
build动过dockerfile定制镜像
commit提交当前容器为新的镜像
cp从容器中拷贝指定文件/目录到宿主机中
create创建一个新的容器,同run,但不启动容器
diff查看docker容器变化
events从docker服务获取容器实施事件
exec在已存在的容器上运行命令
export导出容器的内容流作为一个tar归档文件
import从tar包中的内容创建一个新的文件系统镜像
history展示一个镜像形成历史
images列出系统当前镜像
info显示系统相关信息
inspect查看容器详细内容
killkill指定docker容器
load从一个tar包中加载一个镜像
save保存一个镜像为一个tar
login注册或登陆一个docker源服务器
logout从当前docker registry退出
logs输出当前容器日志信息
port查看映射端口对应的容器内部源端口
pause暂停容器
ps列出容器列表
pull从docker镜像源服务器拉取指定镜像或者库镜像
push推送指定镜像或者库镜像至docker源服务器
restart重启运行服务器
rm移除一个或者多个容器
rmi移除一个或多个镜像(无容器使用该镜像才可删除,否则需删除相关容器 or -f 强制删除)
run创建一个新的容器并运行一个命令
search在docker hub中搜索镜像
start启动容器
stop停止容器
tag给源中镜像打标签
top查看容器中运行的进程信息
unpause取消暂停容器
version查看docker版本号
wait截取容器停止时的退出状态值

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Snowflake 集成模式:Apache Kafka 与零 ETL 和反向 ETL

Snowflake 是领先的云原生数据仓库。集成模式包括批量数据集成、零 ETL 和使用 Apache Kafka 的近乎实时的数据摄取。这篇博文探讨了不同的方法,并发现了它们的利弊。根据行业建议,建议避免使用反向 ETL 等反模式,而是使用数据流来增强企业架…

MySQL基础练习题12-使用唯一标识码替换员工ID

题目:展示每位用户的 唯一标识码(unique ID );如果某位员工没有唯一标识码,使用 null 填充即可。 准备数据 分析数据 题目:展示每位用户的 唯一标识码(unique ID );如果…

Vue2从基础到实战(指令篇)

案例&#xff1a;动态切换图片 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Vue.js 示例</ti…

划重点!「2024观测云发布会」亮点速览

在刚刚落幕的「2024观测云发布会」上&#xff0c;CEO蒋烁淼及其团队以「ENDLESS EVOLUTION」为主题&#xff0c;向大家展示了观测云近两年的革新之旅。不仅深入回顾了观测云在产品创新、技术突破上的持续追求&#xff0c;更以远见卓识&#xff0c;描绘了一幅充满潜力与创新的未…

ChatGPT小狐狸AI付费创作系统v3.0.3+前端

小狐狸GPT付费体验系统的开发基于国外很火的ChatGPT&#xff0c;这是一种基于人工智能技术的问答系统&#xff0c;可以实现智能回答用户提出的问题。相比传统的问答系统&#xff0c;ChatGPT可以更加准确地理解用户的意图&#xff0c;提供更加精准的答案。同时&#xff0c;小狐狸…

【C语言】整数类型及其数值范围(截断+数据)

&#x1f984;个人主页:小米里的大麦-CSDN博客 &#x1f38f;所属专栏:https://blog.csdn.net/huangcancan666/category_12718530.html ⚙️操作环境:Visual Studio 2022 目录 一、介绍 二、整数类型表 1.分析 2.小结 三、截断 1.什么是截断&#xff1f; 2.为什么需要截断…

为什么要做边界值测试?

边界值测试的理解 边界值测试&#xff08;Boundary Value Testing&#xff09;是一种常用的软件测试方法&#xff0c;它侧重于测试输入值的边缘或临界条件。这些边缘条件通常包括最小值、最大值以及接近这些最小值和最大值的值。边界值测试的基本思想是&#xff0c;许多软件错…

WEB前端开发中如何实现大文件上传?

大文件上传是个非常普遍的场景&#xff0c;在面试中也会经常被问到&#xff0c;大文件上传的实现思路和流程。在日常开发中&#xff0c;无论是云存储、视频分享平台还是企业级应用&#xff0c;大文件上传都是用户与服务器之间交互的重要环节。随着现代网络应用的日益复杂化&…

贪心算法-买卖股票问题

贪心算法&#xff08;Greedy Algorithm&#xff09;是一种在每一步选择中都采取在当前状态下最好或最优&#xff08;即最有利&#xff09;的选择&#xff0c;从而希望导致结果是全局最好或最优的算法。贪心算法并不保证总是能得到全局最优解&#xff0c;但它通常能得到不错的解…

【排序算法(二)】——冒泡排序、快速排序和归并排序—>深层解析

前言&#xff1a; 接上篇&#xff0c;排序算法除了选择排序&#xff08;希尔排序&#xff09;和插入排序&#xff08;堆排序&#xff09;之外&#xff0c;还用交换排序&#xff08;冒泡排序、快速排序&#xff09;和归并排序已经非比较排序&#xff0c;本篇来深层解析这些排序算…

Java 基础 and 进阶面试知识点(超详细)

一个 Java 文件中是否可以存在多个类&#xff08;修饰类除外&#xff09;&#xff1f; 一个 Java 文件中是可以存在多个类的&#xff0c;但是一个 Java 文件中只能存在一个 public 所修饰的类&#xff0c;而且这个 Java 文件的文件名还必须和 public 所修饰类的类名保持一致&a…

轻松入门Linux—CentOS,直接拿捏 —/— <1>

一、什么是Linux Linux是一个开源的操作系统&#xff0c;目前是市面上占有率极高的服务器操作系统&#xff0c;目前其分支有很多。是一个基于 POSIX 和 UNIX 的多用户、多任务、支持多线程和多 CPU 的操作系统 Linux能运行主要的UNIX工具软件、应用程序和网络协议 Linux支持 32…

C++入门基础:C++中的循环语句

循环语句是编程语言中用来重复执行一段代码直到满足特定条件的一种控制结构。它们对于处理需要重复任务的场景非常有用&#xff0c;比如遍历数组、累加数值、重复执行某项操作直到满足条件等。 但是在使用循环语句的时候需要注意下哈&#xff0c;有时候一不小心会构成死循环或者…

centos安装kubernetes

本章程安装k8s 1.30版本为例。 1、环境配置 k8s 自1.24版本起&#xff0c;移除了dockershim了&#xff0c;1.30使用了containerd运行部署&#xff0c;containerd部署文档参考centos安装containerd-CSDN博客 k8s部署环境可参考容器运行时 | Kubernetes 1.1、修改主机名称 #…

【Django5】模型定义与使用

系列文章目录 第一章 Django使用的基础知识 第二章 setting.py文件的配置 第三章 路由的定义与使用 第四章 视图的定义与使用 第五章 二进制文件下载响应 第六章 Http请求&HttpRequest请求类 第七章 会话管理&#xff08;Cookies&Session&#xff09; 第八章 文件上传…

MacOS 使用DBeaver连接MySQL数据库 以及常见的问题

文章目录 1 DBeaver介绍2 下载安装3 连接MySQL4 DBeaver使用中的常见问题1 DBeaver驱动无法下载2 连接mysql时报错 Public Key Retrieval is not allowed3 mysql出现错误提示&#xff1a;connection refused: Communications link failure The last packet sent successfully t…

【JavaScript】详解Day.js:轻量级日期处理库的全面指南

文章目录 一、Day.js简介1. 什么是Day.js&#xff1f;2. 安装Day.js 二、Day.js的基本用法1. 创建日期对象2. 格式化日期3. 解析日期字符串4. 操作日期5. 比较日期 三、Day.js的高级功能1. 插件机制2. 国际化支持 四、实际应用案例1. 事件倒计时2. 日历应用 在JavaScript开发中…

界面控件Telerik UI for WPF 2024 Q2亮点 - 全新的AIPrompt组件

Telerik UI for WPF拥有超过100个控件来创建美观、高性能的桌面应用程序&#xff0c;同时还能快速构建企业级办公WPF应用程序。UI for WPF支持MVVM、触摸等&#xff0c;创建的应用程序可靠且结构良好&#xff0c;非常容易维护&#xff0c;其直观的API将无缝地集成Visual Studio…

vite tsx项目的element plus集成 - 按需引入踩坑

前面我们进行了开源组件的自研&#xff0c;很多组件可直接用现成的开源组件库&#xff0c;并不需要自己重复造轮子&#xff0c;为此我们讲如何在当前vite vitepress tsx技术整合的项目中实现element plus组件的按需引入&#xff0c;同时解决遇到的一些坑。 安装Element Plus…

Codeforces Round #956 (Div. 2) and ByteRace 2024

A.思维&#xff1a;https://codeforces.com/contest/1983/problem/A AC代码&#xff1a; #include<bits/stdc.h> using namespace std; int t; int n; int main(){cin>>t;while(t--){cin>>n;for(int i1;i<n;i) cout<<i<<" ";cout…