当前位置: 首页 > news >正文

Docker常用命令汇总

一、Docker基础命令

  • 启动docker:systemctl start docker
  • 关闭docker:systemctl stop docker
  • 重启docker:systemctl restart docker
  • docker设置随服务启动而自启动:systemctl enable docker
  • 查看docker 运行状态:systemctl status docker
  • 查看docker 版本号信息:docker version/docker info
  • docker 帮助命令:docker --help
  • 查看docker具体命令的使用帮助:docker ps --help

二、Docker本地镜像管理

查看本地镜像列表[images]

语法:docker images [OPTIONS] [REPOSITORY[:TAG]]

OPTIONS说明:

  • -a :列出本地所有的镜像(含中间映像层,默认情况下,过滤掉中间映像层);
  • --digests :显示镜像的摘要信息;
  • -f :显示满足条件的镜像;
  • --format :指定返回值的模板文件;
  • --no-trunc :显示完整的镜像信息;
  • -q :只显示镜像ID。
docker images

三、Dockerfile 指令详解

1、 FROM 指定基础镜像

FROM 指令用于指定其后构建新镜像所使用的基础镜像。FROM 指令必是 Dockerfile 文件中的首条命令,启动构建流程后,Docker 将会基于该镜像构建新镜像,FROM 后的命令也会基于这个基础镜像。

FROM语法格式为:
FROM <image>

FROM <image>:<tag>

FROM <image>:<digest>
通过 FROM 指定的镜像,可以是任何有效的基础镜像。FROM 有以下限制:
FROM 必须 是 Dockerfile 中第一条非注释命令
在一个 Dockerfile 文件中创建多个镜像时,FROM 可以多次出现。只需在每个新命令 FROM 之前,记录提交上次的镜像 ID。
tag 或 digest 是可选的,如果不使用这两个值时,会使用 latest 版本的基础镜像

2、Docker使用Dockerfile创建镜像[build]

语法:docker build [OPTIONS] PATH | URL | -

OPTIONS说明:

  • --build-arg=[] :设置镜像创建时的变量;
  • --cpu-shares :设置 cpu 使用权重;
  • --cpu-period :限制 CPU CFS周期;
  • --cpu-quota :限制 CPU CFS配额;
  • --cpuset-cpus :指定使用的CPU id;
  • --cpuset-mems :指定使用的内存 id;
  • --disable-content-trust :忽略校验,默认开启;
  • -f :指定要使用的Dockerfile路径;
  • --force-rm :设置镜像过程中删除中间容器;
  • --isolation :使用容器隔离技术;
  • --label=[] :设置镜像使用的元数据;
  • -m :设置内存最大值;
  • --memory-swap :设置Swap的最大值为内存+swap,"-1"表示不限swap;
  • --no-cache :创建镜像的过程不使用缓存;
  • --pull :尝试去更新镜像的新版本;
  • -q :安静模式,成功后只输出镜像ID;
  • --rm :设置镜像成功后删除中间容器;
  • --shm-size :设置/dev/shm的大小,默认值是64M;
  • --ulimit :Ulimit配置。

实例:

使用当前目录的Dockerfile创建镜像:

docker build -t w3xue/ubuntu:v1 . 

使用URL github.com/creack/docker-firefox 的 Dockerfile 创建镜像:

docker build github.com/creack/docker-firefox

3、Dcoker查看指定镜像的创建历史[history]

语法docker history [OPTIONS] IMAGE

OPTIONS说明:

  • -H :以可读的格式打印镜像大小和日期,默认为true;
  • --no-trunc :显示完整的提交记录;
  • -q :仅列出提交记录ID。

实列:

查看容器nginx的创建历史记录:

docker history nginx

4、 RUN 执行命令

在镜像的构建过程中执行特定的命令,并生成一个中间镜像。格式:
#shell格式
RUN <command>
#exec格式
RUN ["executable", "param1", "param2"]
RUN 命令将在当前 image 中执行任意合法命令并提交执行结果。命令执行提交后,就会自动执行 Dockerfile 中的下一个指令。
层级 RUN 指令和生成提交是符合 Docker 核心理念的做法。它允许像版本控制那样,在任意一个点,对 image 镜像进行定制化构建。
RUN 指令创建的中间镜像会被缓存,并会在下次构建中使用。如果不想使用这些缓存镜像,可以在构建时指定 --no-cache 参数,如:docker build --no-cache。

OPTIONS说明:

  • -a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;
  • -d: 后台运行容器,并返回容器ID;
  • -i: 以交互模式运行容器,通常与 -t 同时使用;
  • -t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
  • --name="nginx-lb": 为容器指定一个名称;
  • --dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致;
  • --dns-search example.com: 指定容器DNS搜索域名,默认和宿主一致;
  • -h "mars": 指定容器的hostname;
  • -e username="ritchie": 设置环境变量;
  • --env-file=[]: 从指定文件读入环境变量;
  • --cpuset="0-2" or --cpuset="0,1,2": 绑定容器到指定CPU运行;
  • -m :设置容器使用内存最大值;
  • --net="bridge": 指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型;
  • --link=[]: 添加链接到另一个容器;
  • --expose=[]: 开放一个端口或一组端口;

实例:

使用docker镜像nginx:latest以后台模式启动一个容器,并将容器命名为testNginx :

docker run --name testNginx -d nginx:latest

四、查看本地正在运行的容器[ps]

语法:docker ps [OPTIONS]

OPTIONS说明:

  • -a :显示所有的容器,包括未运行的。
  • -f :根据条件过滤显示的内容。
  • --format :指定返回值的模板文件。
  • -l :显示最近创建的容器。
  • -n :列出最近创建的n个容器。
  • --no-trunc :不截断输出。
  • -q :静默模式,只显示容器编号。
  • -s :显示总的文件大小。
docker ps

五、Dcoker获取容器的日志[logs]

语法: docker logs [OPTIONS] CONTAINER

OPTIONS说明:

  • -f : 跟踪日志输出
  • --since :显示某个开始时间的所有日志
  • -t : 显示时间戳
  • --tail :仅列出最新N条容器日志

实例:

跟踪查看容器yyflightNginx的日志输出(帮你查看这个容器在某个时间段被执行了什么操作):

docker logs -f yyflightNginx

六、Docker列出指定的容器的端口映射[port]

docker port :列出指定的容器的端口映射,或者查找将PRIVATE_PORT NAT到面向公众的端口。

实例:

查看容器testNginx的端口映射情况:

docker port testNginx

七、Docker删除本地一个或多少镜像[rmi]

语法:docker rmi [OPTIONS] IMAGE [IMAGE...]

OPTIONS说明:

  • -f :强制删除;
  • --no-prune :不移除该镜像的过程镜像,默认移除;

实例:

强制删除本地镜像nginx/ubuntu

docker rmi -f nginx/ubuntu

 

相关文章:

Docker常用命令汇总

一、Docker基础命令 启动docker&#xff1a;systemctl start docker关闭docker&#xff1a;systemctl stop docker重启docker&#xff1a;systemctl restart dockerdocker设置随服务启动而自启动&#xff1a;systemctl enable docker查看docker 运行状态&#xff1a;systemctl…...

【Java笔记】0-为什么学习Java

呃&#xff0c;当然是为了找个Java的开发工作 当然是由于Java使用的人多和它天生自带的优点了~ 主要优点有以下几点&#xff1a; 简单性 C语法纯净版&#xff0c;没有头文件、指针运算、不用分配内存 面向对象 重点放在对象与其接口上&#xff0c;接近人的逻辑 可移植性 …...

海外云手机是什么?对外贸电商有什么帮助?

在外贸电商领域&#xff0c;流量引流已成为卖家们关注的核心问题。越来越多的卖家开始利用海外云手机&#xff0c;通过TikTok等社交平台吸引流量&#xff0c;以推动商品在海外市场的销售。那么&#xff0c;海外云手机到底是什么&#xff1f;它又能为外贸电商卖家提供哪些支持呢…...

【找到了】有人知道怎么在本地用记事本方式打开Linux文本文件吗?

就类似这种&#xff0c;我输入一个什么命令打开文件&#xff0c;就能在命令窗口上弹出一个编辑器来编辑文件。只记得好像有参数-e啥的。 命令行里面如何打开文本编辑器&#xff1f; &#xff08;&#xff09; 在linux命令行terminal上使用gedit直接就可以打开文本文件 那么在…...

docker 安装postgresql

前提&#xff1a;准备好postgresql镜像&#xff0c;如&#xff1a;镜像地址/postgres:15.8 使用docker安装posgresql&#xff1a; 1.docker pull 镜像地址/postgres:15.8 2.docker run -d --namepostgres -p 5432:5432 -v postgres-volume:/var/lib/postgresql/data -e PO…...

2004至2023中国分省统计面板数据-最新出炉_附下载链接

中国各省绿色税收相关数据&#xff08;2007-2022年&#xff09;概述 下载链接-点它&#x1f449;&#x1f449;&#x1f449;&#xff1a;中国分省统计面板数据&#xff08;2004-2023&#xff09;-最新出炉.zip 资源介绍 绿色税收主要是指以保护环境、合理开发利用自然资源、…...

【算法】排序算法总结

文章目录 内排序一、插入排序1.1 直接插入排序1.2 折半插入排序1.3 希尔排序 二、选择排序2.1 简单选择排序2.2 堆排序 三、交换排序3.1 冒泡排序3.2 快速排序Hoare版挖坑法快速排序前后指针法快速排序的非递归 四、归并排序递归版本非递归版本 五、基数排序六、计数排序内排序…...

双11来了,云计算优惠大集合

京东云 2C2G强烈推荐 连接直达...

13. MapReduce自定义OutputFormat

一. OutputFormat简介 OutputFormat是MapReduce输出的基类&#xff0c;所有MapReduce输出都实现了OutputFormat接口&#xff0c;它接收ReduceTask产生的数据&#xff0c;然后将结果按照指定格式输出。 在MapReduce中&#xff0c;如果不指定&#xff0c;默认使用的是TextOutpu…...

Javase——正则表达式

正则表达式的相关使用 public static void main(String[] args) {//校验QQ号 System.out.println("3602222222".matches("[1-9][0-9]{4,}"));// 校验18位身份证号 System.out.println("11050220240830901X".matches("^([0-9]){7,18}…...

云原生文件系统之JuiceFS

JuiceFS 是一个分布式文件系统&#xff0c;专门为云原生环境设计&#xff0c;支持大规模数据存储和处理&#xff0c;特别适用于处理对象存储和大数据应用。JuiceFS 将元数据和数据分离&#xff0c;元数据保存在数据库中&#xff0c;而文件数据则存储在对象存储中&#xff0c;提…...

C++:输入和输出

一 . DEV C的下载和安装 二 . 第一个C程序 三 . 输出流 四 . 初始的数据类型 3.1、整型变量 3.2、双精度浮点数变量 3.3、字符型变量 3.4、字符串变量 3.5、无符号整型变量 五、输入流...

vue的路由的两种模式 hash与history 详细讲解

文章目录 1. Hash 模式工作原理优点缺点使用示例 2. History 模式工作原理优点缺点服务器配置示例使用示例 总结 Vue Router 是 Vue.js 的官方路由管理器&#xff0c;它支持多种路由模式&#xff0c;其中最常用的两种是 hash 模式和 history 模式。下面我们详细讲解这两种模式的…...

【Linux操作系统】进程间通信之匿名管道与命名管道

目录 一、进程间通信的目的&#xff1a;二、进程间通信的种类三、什么是管道四、匿名管道&#xff08;共同祖先的进程之间&#xff09;1.匿名管道的使用2.匿名管道举例3.匿名管道的原理4.管道特点5.管道的读写规则1. 当管道内没有数据可读时2.当管道满的时候3.管道端被关闭4.数…...

慢sql优化和Explain解析

要想程序跑的快&#xff0c;sql优化不可懈怠&#xff01;今日来总结一下常用的慢sql的分析和优化的方法。 1、慢sql的执行分析&#xff1a; 大家都知道分析一个sql语句执行效率的方法是用explain关键词&#xff1a; 举例&#xff1a;sql:select * from test where bussiness_…...

ALIGN_ Tuning Multi-mode Token-level Prompt Alignment across Modalities

文章汇总 当前的问题 目前的工作集中于单模提示发现&#xff0c;即一种模态只有一个提示&#xff0c;这可能不足以代表一个类[17]。这个问题在多模态提示学习中更为严重&#xff0c;因为视觉和文本概念及其对齐都需要推断。此外&#xff0c;仅用全局特征来表示图像和标记是不…...

【Java SE】代码注释

代码注释 注释&#xff08;comment&#xff09;是用于说明解释程序的文字&#xff0c;注释的作用在于提高代码的阅读性&#xff08;可读性&#xff09;。Java中的注释类型包括3种&#xff0c;分别是&#xff1a; 单行注释多行注释文档注释 ❤️ 单行注释 基本格式&#xff…...

如何在算家云搭建Llama3-Factory(智能对话)

一、Llama3-Factory 简介 当地时间 4 月 18 日&#xff0c;Meta 在官网上宣布公布了旗下最新大模型 Llama 3。目前&#xff0c;Llama 3 已经开放了 80 亿&#xff08;8B&#xff09;和 700 亿&#xff08;70B&#xff09;两个小参数版本&#xff0c;上下文窗口为 8k。Llama3 是…...

操作数据表

创建表 创建表语法&#xff1a; CREATE TABLE table_name ( field1 datatype [COMMENT 注释内容], field2 datatype [COMMENT 注释内容], field3 datatype ); 注意&#xff1a; 1. 蓝色字体为关键字 2. CREATE TABLE 是创建数据表的固定关键字&#xff0c;表…...

C# 实现进程间通信的几种方式(完善)

目录 引言 一、基本概念 二、常见的IPC方法 1. 管道&#xff08;Pipes&#xff09; 2. 共享内存&#xff08;Shared Memory&#xff09; 3. 消息队列&#xff08;Message Queues&#xff09; 4. 套接字&#xff08;Sockets&#xff09; 5. 信号量&#xff08;Semaphore…...

19c补丁后oracle属主变化,导致不能识别磁盘组

补丁后服务器重启&#xff0c;数据库再次无法启动 ORA01017: invalid username/password; logon denied Oracle 19c 在打上 19.23 或以上补丁版本后&#xff0c;存在与用户组权限相关的问题。具体表现为&#xff0c;Oracle 实例的运行用户&#xff08;oracle&#xff09;和集…...

Flask RESTful 示例

目录 1. 环境准备2. 安装依赖3. 修改main.py4. 运行应用5. API使用示例获取所有任务获取单个任务创建新任务更新任务删除任务 中文乱码问题&#xff1a; 下面创建一个简单的Flask RESTful API示例。首先&#xff0c;我们需要创建环境&#xff0c;安装必要的依赖&#xff0c;然后…...

从WWDC看苹果产品发展的规律

WWDC 是苹果公司一年一度面向全球开发者的盛会&#xff0c;其主题演讲展现了苹果在产品设计、技术路线、用户体验和生态系统构建上的核心理念与演进脉络。我们借助 ChatGPT Deep Research 工具&#xff0c;对过去十年 WWDC 主题演讲内容进行了系统化分析&#xff0c;形成了这份…...

土地利用/土地覆盖遥感解译与基于CLUE模型未来变化情景预测;从基础到高级,涵盖ArcGIS数据处理、ENVI遥感解译与CLUE模型情景模拟等

&#x1f50d; 土地利用/土地覆盖数据是生态、环境和气象等诸多领域模型的关键输入参数。通过遥感影像解译技术&#xff0c;可以精准获取历史或当前任何一个区域的土地利用/土地覆盖情况。这些数据不仅能够用于评估区域生态环境的变化趋势&#xff0c;还能有效评价重大生态工程…...

leetcodeSQL解题:3564. 季节性销售分析

leetcodeSQL解题&#xff1a;3564. 季节性销售分析 题目&#xff1a; 表&#xff1a;sales ---------------------- | Column Name | Type | ---------------------- | sale_id | int | | product_id | int | | sale_date | date | | quantity | int | | price | decimal | -…...

大模型多显卡多服务器并行计算方法与实践指南

一、分布式训练概述 大规模语言模型的训练通常需要分布式计算技术,以解决单机资源不足的问题。分布式训练主要分为两种模式: 数据并行:将数据分片到不同设备,每个设备拥有完整的模型副本 模型并行:将模型分割到不同设备,每个设备处理部分模型计算 现代大模型训练通常结合…...

自然语言处理——Transformer

自然语言处理——Transformer 自注意力机制多头注意力机制Transformer 虽然循环神经网络可以对具有序列特性的数据非常有效&#xff0c;它能挖掘数据中的时序信息以及语义信息&#xff0c;但是它有一个很大的缺陷——很难并行化。 我们可以考虑用CNN来替代RNN&#xff0c;但是…...

JUC笔记(上)-复习 涉及死锁 volatile synchronized CAS 原子操作

一、上下文切换 即使单核CPU也可以进行多线程执行代码&#xff0c;CPU会给每个线程分配CPU时间片来实现这个机制。时间片非常短&#xff0c;所以CPU会不断地切换线程执行&#xff0c;从而让我们感觉多个线程是同时执行的。时间片一般是十几毫秒(ms)。通过时间片分配算法执行。…...

网络编程(UDP编程)

思维导图 UDP基础编程&#xff08;单播&#xff09; 1.流程图 服务器&#xff1a;短信的接收方 创建套接字 (socket)-----------------------------------------》有手机指定网络信息-----------------------------------------------》有号码绑定套接字 (bind)--------------…...

Mac下Android Studio扫描根目录卡死问题记录

环境信息 操作系统: macOS 15.5 (Apple M2芯片)Android Studio版本: Meerkat Feature Drop | 2024.3.2 Patch 1 (Build #AI-243.26053.27.2432.13536105, 2025年5月22日构建) 问题现象 在项目开发过程中&#xff0c;提示一个依赖外部头文件的cpp源文件需要同步&#xff0c;点…...