Docker Command
小试牛刀
# 查看docker版本
docker -v
docker --version
# 查看帮助
docker --help
# 永远的Hello World
docker run hello-world
镜像操作
查看本地已有的镜像
docker images
-a :列出本地所有的镜像(含中间映像层)
-q :只显示镜像ID
--digests :显示镜像的摘要信息
--no-trunc :显示完整的镜像信息
查找镜像
# 没有指定TAG时,默认为latest标签
# 如果获取到的镜像比之前拉取的新,原先的镜像tag会变成none
docker search NAME:[TAG]
--no-trunc : 显示完整的镜像描述
-s : 列出收藏数不小于指定值的镜像。
--automated : 只列出 automated build类型的镜像# for example
docker search mysql
拉取镜像
docker pull NAME:[TAG]
docker pull mysql # 拉取mysql镜像,标签默认latest
docker pull mysql:tag # 拉取指定tag的mysql镜像
删除镜像
docker rmi image-id # 通过镜像ID删除镜像,这种方式失败的话用镜像标签
docker rmi mysql:tag # 通过镜像标签删除镜像
# 如果一个镜像对应了多个tag,只有当最后一个tag被删除时,镜像才被真正删除
docker rmi -f 镜像ID/镜像名
docker rmi -f 镜像名1:TAG 镜像名2:TAG
docker rmi -f $(docker images -qa) # 删除全部
更改镜像名和标签
docker tag NAME[:tag] NEW_NAME[:tag]
docker tag 镜像id NEW_NAME[:tag]
查看镜像详情
docker inspect 镜像名 # 查看镜像详细信息docker history <image> # 显示镜像的构建历史,即Dockerfile的执行过程
提交镜像
docker commit提交容器副本使之成为一个新的镜像
docker commit -m=“提交的描述信息” -a=“作者” 容器ID 要创建的目标镜像名:[标签名] -p=true 提交时暂停容器运行
导入导出镜像
docker save -o xxx.tar 容器:标签或容器id # 保存容器
docker load < xxx.tar # 载入容器
将本地的镜像上传远程镜像仓库
- 需要先登录Docker远程镜像仓库,默认登录官方仓库:DockerHub
docker login # 然后输入账号密码
docker push 镜像名:标签
docker logout # 登出
- 也可以使用阿里云镜像服务
# 推送镜像
$ sudo docker login --username=xxx registry.cn-shenzhen.aliyuncs.com
$ sudo docker tag [ImageId] registry.cn-shenzhen.aliyuncs.com/xxx/yyy:[镜像版本号]
$ sudo docker push registry.cn-shenzhen.aliyuncs.com/xxx/yyy:[镜像版本号]
# 拉取镜像
$ sudo docker pull registry.cn-shenzhen.aliyuncs.com/xxx/yyy:[镜像版本号]
容器操作
docker run
docker run [options] image-name
# --name container-name,为容器起个名字,必须唯一
# -i 打开容器的标准输入
# -t 为容器分配一个命令行虚拟终端,centos默认/bin/bash
# -d 后台运行
# -p 主机端口:容器端口
# -P Publish all exposed ports to random ports
# --rm 容器退出之后销毁
# 服务类后台运行
docker run -d -p 80:80 nginx
docker run -d -P nginx
# 工具类打开shell窗口
docker run -it -rm busybox# exit之后容器还在
docker run -it alpine# exit之后容器销毁
docker run --rm -it alpine
基本命令
docker ps # 查看正在运行的容器
docker ps -a # 查看所有容器,包括运行和停止docker start container-name/container-id # 启动一个已停止的容器
docker stop container-name/container-id # 停止正在运行的容器
docker restart container-name/container-id # 重启指定容器docker pause container-id # 处于暂停状态的容器不会占用CPU资源
docker unpause container-id
docker kill container-name/container-id # 强制停止指定容器docker rm container-id # 删除指定容器,必须先停止才能删除,-f可以强制删除
docker rm -v $(docker ps -aq -f status=exited)docker rename container-id new-container-name # 容器重命名docker top 容器ID # 查看容器内运行的进程
docker inspect 容器ID # 查看容器内部细节docker logs container-name/container-id # 查看容器日志
docker logs -f -t --tail 容器ID
# -t 是加入时间戳
# -f 跟随最新的日志打印
# --tail 数字 显示最后多少条
进入容器
# 重新进入容器启动命令的终端
# 当多个窗口同时使用该命令进入该容器时,所有的窗口都会同步显示。如果有一个窗口阻塞了,那么其他窗口也无法再进行操作。
docker attach container-id# 重新正在后台运行的容器,并打开新的终端(推荐)
docker exec -it container-id /bin/bash
退出容器
exit # 容器停止退出
Ctrl+P and Ctrl+Q # 容器不停止退出
容器和主机之间复制文件
Usage: docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|-docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATHCopy files/folders between a container and the local filesystemUse '-' as the source to read a tar archive from stdin
and extract it to a directory destination in a container.
Use '-' as the destination to stream a tar archive of a
container source to stdout.Options:-a, --archive Archive mode (copy all uid/gid information)-L, --follow-link Always follow symbol link in SRC_PATH
导入导出容器快照
docker export CONTAINER ID > xxx.tar
cat docker/ubuntu.tar | docker import - test/ubuntu:v1
容器数据卷
- 容器数据持久化
# 两个目录如果不存在,会自动创建
docker run -it -v /宿主机绝对路径目录:/容器内目录 镜像名
# 两个目录的数据改动会实时同步
# 容器退出后,主机修改的数据会在容器重新启动后同步# 查看数据卷是否挂载成功
docker inspect 容器ID
- 容器间传递共享 --volumes-from
docker run -it --name dc02 --volumes-from dc01 lee/centosfromfile
相关文章:

Docker Command
小试牛刀 # 查看docker版本 docker -v docker --version # 查看帮助 docker --help # 永远的Hello World docker run hello-world镜像操作 查看本地已有的镜像 docker images -a :列出本地所有的镜像(含中间映像层) -q :只显示镜像ID --digests :显示…...

Linux系统部署Paperless-Ngx文档管理系统结合内网穿透实现公网访问
文章目录 1. 部署Paperless-ngx2. 本地访问Paperless-ngx3. Linux安装Cpolar4. 配置公网地址5. 远程访问6. 固定Cpolar公网地址7. 固定地址访问 Paperless-ngx是一个开源的文档管理系统,可以将物理文档转换成可搜索的在线档案,从而减少纸张的使用。它内置…...

6.shell case控制语句
case控制语句 1.什么是case case条件语句相当于多分支的if/elif/else条件语句,主要还是用来做条件判断的,常被应用于实现系统服务启动脚本。 case语句中,会将case获取的变量值与表达式部分的值1、值2、值3等逐个进行比较,如果变量值和某个表…...
如何判断HDMI接口版本是1.4还是2.0呢?
如何判断HDMI接口版本是1.4还是2.0呢? HDMI是一种用于传输高质量音频和视频信号的接口标准。随着技术的不断发展,HDMI接口也经历了多次升级和改进。在市场上,常见的HDMI接口版本包括1.4和2.0。判断HDMI接口版本主要通过以下几种方法ÿ…...

【开发环境搭建篇】NodeJS的安装和配置
作者介绍:本人笔名姑苏老陈,从事JAVA开发工作十多年了,带过大学刚毕业的实习生,也带过技术团队。最近有个朋友的表弟,马上要大学毕业了,想从事JAVA开发工作,但不知道从何处入手。于是࿰…...
【Docker】docker和docker-compose一键安装脚本(linux)
一、准备和运行脚本 当前脚本下载的docker和docker-compose兼容系统架构为x64,可以根据自己实际系统版本更改下载链接 1. 在控制台使用vim新建: vim install-docker.sh2. 复制内容并粘贴: #!/usr/bin/env bash # 设置脚本在遇到错误时终止执行 set -…...

在 Windows 中安装配置并启动运行 Jenkins【图文详细教程】
安装 Jenkins 的系统要求: 最少 256MB 可用内存最少 1GB 可用磁盘空间JDK 8 / 11 /17(Jenkins 是用 Java 写的,打包成 war 包) 查看 JDK 的版本 Java JDK 在 Windows 中安装可以参考:https://www.yuque.com/u27599042/…...
C# 读取txt文本所有行
引用:System.IO; Path.Combine(); //将字符串组合成一个路径 Path.GetFullPath(); //返回指定路径的绝对路径 File.ReadAllLines(); //读取文本框返回一个数组 File.ReadAllText(); //读取文本框返回一个字符串 File.ReadAllBytes(); //读取文本框返回字节 …...

STM32使用常见错误合集(正在更新版)
本文章记录一些学习STM32的一些错误问题,师承江科大哈哈哈 一、编译、烧录类问题 1、烧录不成功,Keil提示RDDI-DAP Error【场景:PWM驱动直流电机】 解决方案:将电机断开再进行烧录,断开后就可以美美烧录不报错啦~ …...
Java Random类
一、Random类 在项目开发中,经常需要使用随机数值,例如,网站登录中的验证码,或者需要以一定概率实现的某种效果(如游戏程序中的物品掉落等),就需要Java提供的Random类,该类用于生成…...

【Spring Cloud】微服务通信概述
SueWakeup 个人主页:SueWakeup 系列专栏:学习技术栈 个性签名:人生乏味啊,我欲令之光怪陆离 本文封面由 凯楠📷 友情赞助播出 目录 前言 1. Dubbo(Spring Cloud Alibaba)和 Spring Cloud 的适…...

MySQL的概述与安装
一、数据库的基本概念: 1.1 数据: 1) 描述事物的符号记录称为数据(Data)。数字、文字、图形、图像、声音、档案记录等 都是数据。 2)数据是以“记录”的形式按照统一的格式进行存储的,而不是…...
《被讨厌的勇气》书摘2
发生什么不重要,怎样看待才重要 生活的真谛就是活在当下 来自他人和社会的评价,造成了我们的骄傲和自卑。人们经常借“爱”之名,行控制之实 学会课题分离 当我们发现自己的价值的时候,才具备了让自己真正自由和自主的勇气 人…...

基于SpringBoot的会员制医疗预约服务管理信息系统
开发语言:Java 框架:springboot JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7 数据库工具:Navicat11 开发软件:eclipse/myeclipse/idea 系统展示 系统功能模块 会员制医疗预约服务管…...

【二十三】【算法分析与设计】三柱汉诺塔详解,计算子移动次数,正常递归计算,观察数据得出数学规律,递归图得出数学规律,将递归函数转化为递推式
目录 汉诺塔递归 汉诺塔子移动次数的计算 牛牛的汉诺塔 选择正常的递归模拟计算子移动次数 根据具体数据得出数学规律 根据递归图得出数学规律 将递归函数转化为递推式 结尾 汉诺塔递归 汉诺塔是一个经典问题,相传在古印度圣庙中,有一种被称为汉…...
C# WPF编程-XAML
C# WPF编程-XAML XAML简述XAML子集XAML编译XAML基础XAML名称空间XAML中的属性和事件属性事件使用其他名称空间中的类型 加载和编译XAML XAML简述 XAML(Extensible Application Markup Language的简写,发音"zammel")是用于实例化.NET对象的标记语言。XAML…...

java 高级面试题(借鉴)(下)
雪花算法原理 第1位符号位固定为0,41位时间戳,10位workId,12位序列号,位数可以有不同实现。 优点:每个毫秒值包含的ID值很多,不够可以变动位数来增加,性能佳(依赖workId的实现…...
C++测试代码
C测试代码 目录 基于C实现的AOP功能 基于C实现的AOP功能 #include <iostream> #include <string>struct LogHeader {std::string prefix;std::string aspect; };template <typename T> void before(const std::string& msg, const LogHeader& heade…...

Flask python 开发篇:蓝图的使用
蓝图 引言一、为什么使用蓝图?二、蓝图的概念三、创建蓝图四、注册蓝图五、分享我的creat_app方法六、写在最后 引言 falsk是个轻量级的框架,核心实现简单,但同事可以让开发人员自由的扩展功能。开发中,使用模块导入的方式。 一…...

抖音视频爬虫下载软件|可导出视频分享链接|视频批量采集工具
无水印视频关键词批量下载工具操作指南 我们自主开发了一款便捷的音视频批量下载工具,不仅支持单个视频链接提取,还可通过关键词搜索实现批量采集和选择性下载,让您轻松获取所需视频内容。 操作说明: 关键词批量采集视频 进入软件…...
挑战杯推荐项目
“人工智能”创意赛 - 智能艺术创作助手:借助大模型技术,开发能根据用户输入的主题、风格等要求,生成绘画、音乐、文学作品等多种形式艺术创作灵感或初稿的应用,帮助艺术家和创意爱好者激发创意、提高创作效率。 - 个性化梦境…...
[2025CVPR]DeepVideo-R1:基于难度感知回归GRPO的视频强化微调框架详解
突破视频大语言模型推理瓶颈,在多个视频基准上实现SOTA性能 一、核心问题与创新亮点 1.1 GRPO在视频任务中的两大挑战 安全措施依赖问题 GRPO使用min和clip函数限制策略更新幅度,导致: 梯度抑制:当新旧策略差异过大时梯度消失收敛困难:策略无法充分优化# 传统GRPO的梯…...

UDP(Echoserver)
网络命令 Ping 命令 检测网络是否连通 使用方法: ping -c 次数 网址ping -c 3 www.baidu.comnetstat 命令 netstat 是一个用来查看网络状态的重要工具. 语法:netstat [选项] 功能:查看网络状态 常用选项: n 拒绝显示别名&#…...
在 Nginx Stream 层“改写”MQTT ngx_stream_mqtt_filter_module
1、为什么要修改 CONNECT 报文? 多租户隔离:自动为接入设备追加租户前缀,后端按 ClientID 拆分队列。零代码鉴权:将入站用户名替换为 OAuth Access-Token,后端 Broker 统一校验。灰度发布:根据 IP/地理位写…...
OkHttp 中实现断点续传 demo
在 OkHttp 中实现断点续传主要通过以下步骤完成,核心是利用 HTTP 协议的 Range 请求头指定下载范围: 实现原理 Range 请求头:向服务器请求文件的特定字节范围(如 Range: bytes1024-) 本地文件记录:保存已…...

[10-3]软件I2C读写MPU6050 江协科技学习笔记(16个知识点)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16...

ETLCloud可能遇到的问题有哪些?常见坑位解析
数据集成平台ETLCloud,主要用于支持数据的抽取(Extract)、转换(Transform)和加载(Load)过程。提供了一个简洁直观的界面,以便用户可以在不同的数据源之间轻松地进行数据迁移和转换。…...

UR 协作机器人「三剑客」:精密轻量担当(UR7e)、全能协作主力(UR12e)、重型任务专家(UR15)
UR协作机器人正以其卓越性能在现代制造业自动化中扮演重要角色。UR7e、UR12e和UR15通过创新技术和精准设计满足了不同行业的多样化需求。其中,UR15以其速度、精度及人工智能准备能力成为自动化领域的重要突破。UR7e和UR12e则在负载规格和市场定位上不断优化…...
腾讯云V3签名
想要接入腾讯云的Api,必然先按其文档计算出所要求的签名。 之前也调用过腾讯云的接口,但总是卡在签名这一步,最后放弃选择SDK,这次终于自己代码实现。 可能腾讯云翻新了接口文档,现在阅读起来,清晰了很多&…...

解读《网络安全法》最新修订,把握网络安全新趋势
《网络安全法》自2017年施行以来,在维护网络空间安全方面发挥了重要作用。但随着网络环境的日益复杂,网络攻击、数据泄露等事件频发,现行法律已难以完全适应新的风险挑战。 2025年3月28日,国家网信办会同相关部门起草了《网络安全…...