docker基本使用命令
一、镜像
1、拉取镜像
docker pull busybox
docker pull nginx:1.26-alpine
2、查看本地镜像
[root@Rocky-1 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest 4e1b6bae1e48 18 hours ago 192MB
busybox latest ff7a7936e930 6 months ago 4.28MB
3、镜像搜索
[root@Rocky-1 ~]# docker search ubuntu
4、查看镜像信息
[root@Rocky-1 ~]# docker image inspect nginx
[{"Id": "sha256:4e1b6bae1e48cdbde8e6ec3e6ee42d86ad4780156e75790465bf6fb16c551c27","RepoTags": ["nginx:latest"],"RepoDigests": [
5、查看镜像结构
[root@Rocky-1 ~]# docker history nginx
IMAGE CREATED CREATED BY SIZE COMMENT
4e1b6bae1e48 18 hours ago CMD ["nginx" "-g" "daemon off;"] 0B buildkit.dockerfile.v0
<missing> 18 hours ago STOPSIGNAL SIGQUIT 0B buildkit.dockerfile.v0
<missing> 18 hours ago EXPOSE map[80/tcp:{}] 0B buildkit.dockerfile.v0
<missing> 18 hours ago ENTRYPOINT ["/docker-entrypoint.sh"] 0B buildkit.d
6、删除镜像
[root@Rocky-1 ~]# docker rmi nginx
7、镜像导出、导入
#镜像导出
[root@Rocky-1 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest 4e1b6bae1e48 18 hours ago 192MB
busybox latest ff7a7936e930 6 months ago 4.28MB
[root@Rocky-1 ~]# docker image save -o nginx-latest.tar.gz
//-o指定导出路径
nginx:latest
[root@Rocky-1 ~]# ls
nginx-latest.tar.gz
[root@Rocky-1 ~]# du -sh nginx-latest.tar.gz
188M nginx-latest.tar.gz#docker导入
[root@Rocky-1 ~]# docker rmi nginx
Untagged: nginx:latest
Untagged: nginx@sha256:5ed8fcc66f4ed123c1b2560ed708dc148755b6e4cbd8b943fab094f2c6bfa91e
Deleted: sha256:4e1b6bae1e48cdbde8e6ec3e6ee42d86ad4780156e75790465bf6fb16c551c27
Deleted: sha256:54e3ab6292c032a67a0b40e4efb1d1103fc0cf511adc81d76d3a38b95346f723
Deleted: sha256:a0d2387b1619ddad596155d0d9b898e646b267dfdf3cbe7771cb0cdadd5d15b5
Deleted: sha256:7f2e29110e65e19a2fd3fb6f692345c62d9d1d45fccc69f0f2e4e5282bf5a153
Deleted: sha256:6326ba543c8ab9588de067410d5ad23828fcf83d5d04719a1f88c02c9118ccfa
Deleted: sha256:164dfb151284668c54c8259d6a82900f19b157b655deafc294db044ee4da219e
Deleted: sha256:6a2a04bbab5eca06a23a05254ed5166c9a548245861f9db0e23796fb87d490a3
Deleted: sha256:ea680fbff095473bb8a6c867938d6d851e11ef0c177fce983ccc83440172bd72
[root@Rocky-1 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
busybox latest ff7a7936e930 6 months ago 4.28MB
[root@Rocky-1 ~]# docker load -i nginx-latest.tar.gz
ea680fbff095: Loading layer 77.9MB/77.9MB
bd903131a05e: Loading layer 118.7MB/118.7MB
9aad78ecf380: Loading layer 3.584kB/3.584kB
9e3c6e8c1e25: Loading layer 4.608kB/4.608kB
8d83f6b79143: Loading layer 2.56kB/2.56kB
ccc5aac17fc4: Loading layer 5.12kB/5.12kB
d1e3e4dd1aaa: Loading layer 7.168kB/7.168kB
Loaded image: nginx:latest
[root@Rocky-1 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest 4e1b6bae1e48 18 hours ago 192MB
busybox latest ff7a7936e930 6 months ago 4.28MB
二、容器
1、启动容器
#后台运行容器
[root@Rocky-1 ~]# docker run -d --name web1 -p 80:80 nginx
2cd9f1a6c72342fd1bbdcf86a2b5ee0b1199638906019aaeb6cdfba8c56113db#在容器中操作
[root@Rocky-1 ~]# docker run -it --name test busybox #重新进入容器
[root@Rocky-1 ~]# docker attach test#在容器中执行命令
[root@Rocky-1 ~]# docker exec -it test ifconfig#解释参数
-d —— 后台运行
-i —— 交互式运行
-t —— 打开一个中断
--name —— 指定容器名称
-p —— 端口映射
--rm —— 容器停止自动删除容器#创建并进入一个容器
[root@Rocky-1 ~]# docker run -d --name yes nginx
49d0e0901a9381b015fa66262fe7e14b351ff19581598d4a66c2329ea7785ef4[root@Rocky-1 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
49d0e0901a93 nginx "/docker-entrypoint.…" 8 seconds ago Up 7 seconds 80/tcp yes[root@Rocky-1 ~]# docker exec -it yes /bin/bash
root@49d0e0901a93:/#
2、查看容器运行信息
#查看当前运行的容器
[root@Rocky-1 ~]# docker ps #查看所有容器
[root@Rocky-1 ~]# docker ps -a#查看容器运行的详细信息
[root@Rocky-1 ~]# docker inspect yes
3、停止运行容器
#停止容器
[root@Rocky-1 ~]# docker stop test#杀死容器
[root@Rocky-1 ~]# docker kill test#开启停止容器
[root@Rocky-1 ~]# docker start test[root@Rocky-1 ~]# docker start yes
[root@Rocky-1 ~]# docker exec -it yes bash
root@769cd55a087e:/# ls
bin dev docker-entrypoint.sh home lib64 mnt proc run srv tmp var
boot docker-entrypoint.d etc lib media opt root sbin sys usr
4、删除容器
#-f 强制删除正在运行的容器[root@Rocky-1 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
769cd55a087e nginx "/docker-entrypoint.…" 14 minutes ago Up About a minute 0.0.0.0:80->80/tcp, [::]:80->80/tcp yes
[root@Rocky-1 ~]# docker rm yes
Error response from daemon: cannot remove container "/yes": container is running: stop the container before removing or force remove
[root@Rocky-1 ~]# docker rm -f yes
yes
[root@Rocky-1 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES#删除所有停止的容器
[root@Rocky-1 ~]# docker container prune
WARNING! This will remove all stopped containers.
Are you sure you want to continue? [y/N] y
Deleted Containers:
0a33c8f1742e386c1c8c960ee3ef5a40f801c46fb4ed240e6e20b7c05eddbc97Total reclaimed space: 1.093kB
5、容器内容提交
默认情况,容器被删除后,容器内的所有操作都会被清理,包括保存的文件,像永久保存就需要把动作提交,提交后会生成新的镜像,运行新镜像时会看到提交的内容
#运行一个容器创建文件
[root@Rocky-1 ~]# docker run -d --name yes nginx
49d0e0901a9381b015fa66262fe7e14b351ff19581598d4a66c2329ea7785ef4
[root@Rocky-1 ~]# docker exec -it yes /bin/bash
root@49d0e0901a93:/# ls
bin dev docker-entrypoint.sh home lib64 mnt proc run srv tmp var
boot docker-entrypoint.d etc lib media opt root sbin sys usr
root@49d0e0901a93:/# touch leefile
root@49d0e0901a93:/# ls
bin docker-entrypoint.d home lib64 opt run sys var
boot docker-entrypoint.sh leefile media proc sbin tmp
dev etc lib mnt root srv usr
root@49d0e0901a93:/# exit
exit#删除容器
[root@Rocky-1 ~]# docker rm -f yes
yes
[root@Rocky-1 ~]# docker exec -it yes /bin/bash
Error response from daemon: No such container: yes
[root@Rocky-1 ~]# docker run -d --name yes nginx
5d07fdfdd9c02c12a9e941d9b630a6022ea308ce94dfecdc7a3cdc7033db1734
[root@Rocky-1 ~]# docker exec -it yes /bin/bash#删除容器以后创建容器,创建的文件被删除
root@5d07fdfdd9c0:/# ls
bin dev docker-entrypoint.sh home lib64 mnt proc run srv tmp var
boot docker-entrypoint.d etc lib media opt root sbin sys usrroot@5d07fdfdd9c0:/# touch lili.txt
root@5d07fdfdd9c0:/# ls
bin docker-entrypoint.d home lili.txt opt run sys var
boot docker-entrypoint.sh lib media proc sbin tmp
dev etc lib64 mnt root srv usr
root@5d07fdfdd9c0:/# exit
exit#提交一个容器
[root@Rocky-1 ~]# docker commit -m "add lili.txt" yes ngin
sha256:9920ef46c9588a531501c69c91e10188e0ed71425ea455702602b7d3031456ea
[root@Rocky-1 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ngin latest 9920ef46c958 5 seconds ago 192MB
nginx latest 4e1b6bae1e48 20 hours ago 192MB
busybox latest ff7a7936e930 6 months ago 4.28MB
6、系统中的文件与容器中的文件传输
#将容器中文件传输到系统指定目录
[root@Rocky-1 ~]# docker exec -it yes /bin/bash
root@5d07fdfdd9c0:/# ls
bin docker-entrypoint.d home lili.txt opt run sys var
boot docker-entrypoint.sh lib media proc sbin tmp
dev etc lib64 mnt root srv usr
root@5d07fdfdd9c0:/# pwd
/
root@5d07fdfdd9c0:/# exit
exit
[root@Rocky-1 ~]# docker cp yes:/lili.txt /mnt/
Successfully copied 1.54kB to /mnt/
[root@Rocky-1 ~]# ls /mnt/
lili.txt#将系统文件传输到容器指定目录
[root@Rocky-1 ~]# ls
anaconda-ks.cfg glibc-2.34.tar.gz proxysql-2.7.0-1-centos8.x86_64.rpm
glibc-2.34 nginx-latest.tar.gz proxysql-2.7.1-1-centos8.x86_64.rpm
[root@Rocky-1 ~]# pwd
/root
[root@Rocky-1 ~]# docker cp /root/glibc-2.34 yes:/
^CSuccessfully copied 194MB to yes:/
[root@Rocky-1 ~]# docker exec -it yes /bin/bash
root@5d07fdfdd9c0:/# ls
bin docker-entrypoint.d glibc-2.34 lib64 mnt root srv usr
boot docker-entrypoint.sh home lili.txt opt run sys var
dev etc lib media proc sbin tmp
7、查询容器内部日志
[root@Rocky-1 ~]# docker logs yes
/docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration
/docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/
/docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh
10-listen-on-ipv6-by-default.sh: info: Getting the checksum of /etc/nginx/conf.d/default.conf
10-listen-on-ipv6-by-default.sh: info: Enabled listen on IPv6 in /etc/nginx/conf.d/default.conf
/docker-entrypoint.sh: Sourcing /docker-entrypoint.d/15-local-resolvers.envsh
/docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh
/docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh
/docker-entrypoint.sh: Configuration complete; ready for start up
2025/04/17 10:26:40 [notice] 1#1: using the "epoll" event method
2025/04/17 10:26:40 [notice] 1#1: nginx/1.27.5
2025/04/17 10:26:40 [notice] 1#1: built by gcc 12.2.0 (Debian 12.2.0-14)
2025/04/17 10:26:40 [notice] 1#1: OS: Linux 4.18.0-553.el8_10.x86_64
2025/04/17 10:26:40 [notice] 1#1: getrlimit(RLIMIT_NOFILE): 1048576:1048576
2025/04/17 10:26:40 [notice] 1#1: start worker processes
2025/04/17 10:26:40 [notice] 1#1: start worker process 29
相关文章:
docker基本使用命令
一、镜像 1、拉取镜像 docker pull busybox docker pull nginx:1.26-alpine 2、查看本地镜像 [rootRocky-1 ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE nginx latest 4e1b6bae1e48 18 hours ago 192MB busybox lates…...
欣佰特携数十款机器人相关前沿产品,亮相第二届人形机器人和具身智能行业盛会
2025年4月15日至16日,备受关注的第二届中国人形机器人与具身智能产业大会已在北京成功举行。作为国内前沿科技及产品服务领域的重要参与者,欣佰特科技携众多前沿产品精彩亮相,全方位展示了其在人形机器人与具身智能领域的创新产品。 在本次大…...
windows安装hadoop-3.3.5(图文教程)
本章教程,记录在Windows操作系统上安装hadoop-3.3.5的整个过程。 一、基础环境准备 JDK版本:java version “1.8.0_431” ,并且配置JAVA_HOME系统环境变量 hadoop版本:3.3.5,配置HADOOP_HOME系统环境变量。 下载地址:https://archive.apache.org/dist/hadoop/common/hado…...
【eNSP实验】OSPF单区域配置
简介 OSPF(开放最短路径优先)是一种基于链路状态算法的内部网关协议(IGP),用于自治系统内部动态路由。其核心机制为:各路由器通过泛洪链路状态通告(LSA)同步网络拓扑,构…...
从 SQL2API 到 Text2API:开启数据应用开发的新征程
在技术革新浪潮的席卷下,数据应用开发领域正经历着深刻变革。曾经,构建数据 API 需要开发者具备扎实的数据库知识和编程技能,手动编写复杂的 SQL 查询与 API 代码,这一过程不仅耗时费力,还将众多非技术人员阻挡在数据应…...
4月18日日记(补)
昨天玩的太疯狂了最后也没来得及写日记,补上() 正常的早八微积分,英语,下午的思政课非常的疯狂啊,因为是代课老师,她给我们很多机会强大加分,大家都知道这是一个追分的好机会&#x…...
手撕 简易HashMap
put()、get()、remove() 方法 计算存储数组位置和k-vNode节点 public int indexOf(K key){return key.hashCode() & (table.length - 1);}static class Node<K, V>{K key;V value;Node<K, V> next;public Node(K key, V value){this.key key;this.value val…...
【技术派后端篇】ElasticSearch 实战指南:环境搭建、API 操作与集成实践
1 ES介绍及基本概念 ElasticSearch是一个基于Lucene 的分布式、高扩展、高实时的基于RESTful 风格API的搜索与数据分析引擎。 RESTful 风格API的特点: 接受HTTP协议的请求,返回HTTP响应;请求的参数是JSON,返回响应的内容也是JSON…...
鸿蒙语言基础
准备工作 去鸿蒙官网下载开发环境 点击右侧预浏览,刷新和插销按钮,插销表示热更新,常用按钮。 基础语法 string number boolean const常量 数组 let s : string "1111"; console.log("string", s);let n : number …...
在 Amazon Graviton 上运行大语言模型:CPU 推理性能实测与调优指南
引言 在生成式 AI 浪潮中,GPU 常被视为大模型推理的唯一选择。然而,随着 ARM 架构的崛起和量化技术的成熟,CPU 推理的性价比逐渐凸显。本文基于 Amazon Graviton 系列实例与 llama.cpp 工具链,实测了 Llama 3、DeepSeek 等模型的…...
每日定投40刀BTC(14)20250409 - 20250419
定投 坚持 《磨剑篇》浮生多坎壈,志业久盘桓。松柏凌霜易,骅骝涉险难。砺锋临刃缺,淬火取金残。但使精魂在,重开万象端。...
详解反射型 XSS 的后续利用方式:从基础窃取到高级组合拳攻击链
在网络安全领域,反射型跨站脚本攻击(Reflected Cross-Site Scripting,简称反射型 XSS)因其短暂的生命周期和临时性,常被视为“低危”漏洞,威胁性不如存储型或 DOM 型 XSS。然而,这种看法低估了它…...
服务治理-服务注册
一个服务在真实项目部署的时候,如果压力较大,会做多实例部署。 在IDEA里面做多实例部署的话,只需要配置多个启动项。...
NestJS——多环境配置方案(dotenv、config、@nestjs/config、joi配置校验)
个人简介 👀个人主页: 前端杂货铺 🙋♂️学习方向: 主攻前端方向,正逐渐往全干发展 📃个人状态: 研发工程师,现效力于中国工业软件事业 🚀人生格言: 积跬步…...
MongoDB导出和导入数据
安装mongodump工具 参考文章mongodump工具安装及使用详解_mongodump安装-CSDN博客 MongoDB导入导出和备份的命令工具从4.4版本开始不再自动跟随数据库一起安装,而是需要自己手动安装。 官方网站下载链接:Download MongoDB Command Line Database Tools …...
数据从辅存调入主存,页表中一定存在
在虚拟内存系统中,数据从辅存调入主存时,页表中一定存在对应的页表项,但页表项的「存在状态」会发生变化。以下是详细分析: 关键逻辑 页表的作用 页表是虚拟内存的核心数据结构,记录了虚拟地址到物理地址的映射关系…...
Serving入门
ServingHelloWorld Serverless 一个核心思想就是按需分配,那么 Knative 是如何实现按需分配的呢?另外在前面已经了解到 Knative Serving 在没有流量的时候是可以把Pod 缩容到零的。接下来就通过一些例子体验一下 Knative 缩容到零和按需自动扩缩容的能力…...
硬件操作指南——ATK-MD0430 V20
使用CC2530控制正点原子ATK-MD0430 V20显示的完整指南 本文将详细介绍如何使用CC2530单片机控制正点原子ATK-MD0430 V20显示屏,包括IAR开发环境的配置、硬件连接、程序编写和调试等完整步骤。 一、开发环境准备 1. IAR开发环境安装与配置 首先需要安装IAR Embed…...
【HDFS入门】HDFS数据冗余与容错机制解析:如何保障大数据高可靠存储?
目录 1 HDFS冗余机制设计哲学 1.1 多副本存储策略的工程权衡 1.2 机架感知的智能拓扑算法 2 容错机制实现原理 2.1 故障检测的三重保障 2.2 数据恢复的智能调度 3 关键场景容错分析 3.1 数据中心级故障应对 3.2 数据损坏的校验机制 4 进阶优化方案 4.1 纠删码技术实…...
UE学习记录part19
231 insect: insect enemy type 创建dead动画资源 往insect head上添加socket 创建攻击root motion动画。motion warping需要与root motion合作使用 为buff_blue创建物理资产 设置simulate physic使sinsect死亡后能落到地板上而不是漂浮在空中,要将die函数设置为 -…...
运行后allure报告没有自动更新(已解决)
pycharm直接运行run.py文件, allure生成的报告都没有更新,需要手动删除旧报告后再次运行才可以 pytest.ini [pytest]testpaths testcases/ addopts --alluredir ./report/result --clean-alluredir run.py主要代码 if __name__ "__main__&qu…...
深度学习在语音识别中的应用
引言 语音识别技术是人工智能领域中的一个重要分支,它使得机器能够理解和转换人类的语音为文本。深度学习的出现极大地推动了语音识别技术的发展。本文将介绍如何使用深度学习构建一个基本的语音识别系统,并提供一个实践案例。 环境准备 在开始之前&a…...
CUDA Tools 常用命令总结与记录 (需要细化)
以下是对 CUDA Toolkit 中常用工具和命令的详细总结,涵盖编译器、调试器、性能分析工具、GPU管理工具等核心组件: 一、编译器工具:nvcc nvcc 是 NVIDIA CUDA 编译器,用于编译 .cu 文件生成可执行文件或中间代码。 常用命令与参数…...
微信小程序 时间戳与日期格式的转换
1. 微信小程序 时间戳与日期格式的转换 微信小程序中的时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数。例如现在北京时间2015-12-31 17:00:00的时间戳是1451552400,就是指从北京时间1970-01-01 08:00:00到…...
【深度学习—李宏毅教程笔记】Transformer
目录 一、序列到序列(Seq2Seq)模型 1、Seq2Seq基本原理 2、Seq2Seq模型的应用 3、Seq2Seq模型还能做什么? 二、Encoder 三、Decoder 1、Decoder 的输入与输出 2、Decoder 的结构 3、Non-autoregressive Decoder 四、Encoder 和 De…...
【人工智能学习-01-01】20250419《数字图像处理》复习材料的word合并PDF,添加页码
前情提要 20250419今天是上师大继续教育人工智能专升本第一学期的第一次线下课。 三位老师把视频课的内容提炼重点再面授。(我先看了一遍视频,但是算法和图像都看不懂,后来就直接挂分刷满时间,不看了) 今天是面对面授…...
如何从 GitHub 镜像仓库到极狐GitLab?
最近 GitHub 封禁中国用户的事情闹得沸沸扬扬,虽然官方发布的报道说中国用户被限制登录是因为配置错误导致,已经撤回了更新,中国用户已经可以正常使用。但是这就像横在国内开发者和企业头上的“达摩克利斯之剑”。为了避免 GitHub 不可用而带来的影响,国内开发者和企业可以…...
【云馨AI-大模型】2025年4月第三周AI领域全景观察:硬件革命、生态博弈与国产化突围
一、硬件算力突破点燃多智能体时代 谷歌在4月12日Cloud Next大会发布第七代TPU Ironwood,单芯片算力达4614 TFLOPs,较前代内存提升6倍,专为AI推理场景优化。配合发布的Gemini 2.5 Flash模型通过"思考"功能实现成本优化,…...
ETL数据集成平台在交通运输行业的五大应用场景
在智能交通与数字物流时代,交通运输企业每天产生海量数据——车辆轨迹、货物状态、乘客流量、设备日志……但这些数据往往被困在分散的系统中:GPS定位数据躺在车载终端里,物流订单卡在Excel表中,地铁客流统计锁在本地服务器内。如…...
使用 Docker 安装 Elastic Stack 并重置本地密码
Elastic Stack(也被称为 ELK Stack)是一个非常强大的工具套件,用于实时搜索、分析和可视化大量数据。Elastic Stack 包括 Elasticsearch、Logstash、Kibana 等组件。本文将展示如何使用 Docker 安装 Elasticsearch 并重置本地用户密码。 ###…...
