暑假运维学习打卡第二十四天8.15
Docker镜像和容器管理镜像管理查看本地镜像docker images拉取镜像docker pull 镜像名构建镜像# 构建镜像docker build -t myapp .# 构建镜像指定Dockerfiledocker build -t myapp -f Dockerfile.custom .# 构建镜像指定标签docker build -t myapp:v1.0.0 .# 构建镜像显示详细信息docker build -t myapp --progressplain .# 构建镜像使用缓存docker build -t myapp --cache-from myapp:latest .推送镜像# 登录Docker Hubdocker login# 标记镜像docker tag myapp username/myapp:v1.0.0# 推送镜像docker push username/myapp:v1.0.0# 推送镜像到指定仓库docker push registry.cn-hangzhou.aliyuncs.com/username/myapp:v1.0.0删除镜像# 删除指定镜像docker rmi ubuntu:20.04# 删除多个镜像docker rmi ubuntu:20.04 nginx:latest# 强制删除镜像docker rmi -f ubuntu:20.04# 删除所有未使用镜像docker image prune# 删除所有镜像docker rmi $(docker images -q)镜像历史docker history ubuntu:20.04镜像导出和导入# 导出镜像docker save -o ubuntu_20.04.tar ubuntu:20.04# 导入镜像docker load -i ubuntu_20.04.tar# 导出镜像流式docker save ubuntu:20.04 | gzip ubuntu_20.04.tar.gz# 导入镜像流式gunzip -c ubuntu_20.04.tar.gz | docker load容器管理创建容器# 创建容器不启动docker create --name mycontainer ubuntu:20.04# 创建容器指定端口映射docker create --name mycontainer -p 80:80 nginx# 创建容器指定挂载卷docker create --name mycontainer -v /data ubuntu:20.04# 创建容器指定环境变量docker create --name mycontainer -e ENVproduction ubuntu:20.04# 创建容器指定网络docker create --name mycontainer --network bridge ubuntu:20.04启动容器# 启动容器docker start mycontainer# 启动多个容器docker start mycontainer1 mycontainer2# 启动容器附加到容器docker start -a mycontainer# 启动容器重新创建docker start --restartalways mycontainer查看容器docker ps停止容器# 停止容器docker stop mycontainer# 停止多个容器docker stop mycontainer1 mycontainer2# 停止所有运行中的容器docker stop $(docker ps -q)# 强制停止容器docker kill mycontainer删除容器# 删除容器docker rm mycontainer# 删除多个容器docker rm mycontainer1 mycontainer2# 强制删除容器docker rm -f mycontainer# 删除所有停止的容器docker container prune# 删除所有容器docker rm -f $(docker ps -a -q)进入容器# 进入容器bashdocker exec -it mycontainer bash# 进入容器shdocker exec -it mycontainer sh# 进入容器执行命令docker exec -it mycontainer ls -la# 进入容器后台执行docker exec -d mycontainer touch /tmp/test.txt查看容器日志docker logs mycontainer查看容器信息docker inspect mycontainer容器端口映射docker port mycontainer容器资源限制# 限制容器CPU使用docker run -d --name mycontainer --cpus 1 ubuntu:20.04# 限制容器内存使用docker run -d --name mycontainer --memory 1g ubuntu:20.04# 限制容器CPU和内存docker run -d --name mycontainer --cpus 1 --memory 1g ubuntu:20.04# 限制容器CPU份额docker run -d --name mycontainer --cpu-shares 512 ubuntu:20.04实战案例案例1构建和运行自定义镜像# 1. 创建Dockerfile基于 Ubuntu 20.04安装 Nginx复制网页文件。注意Ubuntu 的默认 Nginx 根目录是/var/www/html这里写法正确。cat Dockerfile EOFFROM ubuntu:20.04RUN apt-get update apt-get install -y nginxCOPY index.html /var/www/html/EXPOSE 80CMD [nginx, -g, daemon off;]EOF# 2. 创建index.html简单的 HTML用于测试。cat index.html EOF!DOCTYPE htmlhtmlheadtitleDocker Test/title/headbodyh1Hello Docker!/h1/body/htmlEOF# 3. 构建镜像-t给镜像命名为mywebapp。.指使用当前目录的 Dockerfile。docker build -t mywebapp .# 4. 查看镜像docker images# 5. 运行容器核心映射将宿主机的8080端口映射到容器的80端口Nginx 默认监听 80。-d表示后台运行守护模式。docker run -d --name mywebapp -p 8080:80 mywebapp# 6. 查看容器docker ps# 7. 访问应用通过宿主机端口访问返回 HTML 源码则说明部署成功。curl http://localhost:8080# 8. 停止容器docker stop mywebapp# 9. 删除容器docker rm mywebapp# 10. 删除镜像docker rmi mywebapp案例2管理多个容器# 1. 运行Nginx容器docker run -d --name nginx -p 80:80 nginx# 2. 运行MySQL容器docker run -d --name mysql -e MYSQL_ROOT_PASSWORDroot -p 3306:3306 mysql:8.0# 3. 运行Redis容器docker run -d --name redis -p 6379:6379 redis# 4. 查看所有容器docker ps -a# 5. 停止所有容器docker stop nginx mysql redis# 6. 启动所有容器docker start nginx mysql redis# 7. 查看容器日志docker logs nginx# 8. 进入MySQL容器docker exec -it mysql mysql -u root -p# 9. 删除所有容器docker rm -f nginx mysql redis步骤命令说明1docker run -d --name nginx -p 80:80 nginx部署 Nginx映射宿主机 80 端口2docker run -d --name mysql -e MYSQL_ROOT_PASSWORDroot -p 3306:3306 mysql:8.0部署 MySQL 8.0通过-e设置 root 密码3docker run -d --name redis -p 6379:6379 redis部署 Redis默认无密码4docker ps -a查看所有容器含已停止5docker stop nginx mysql redis批量停止容器6docker start nginx mysql redis批量启动已停止的容器7docker logs nginx查看 Nginx 容器运行日志8docker exec -it mysql mysql -u root -p交互式进入 MySQL 容器内部执行客户端9docker rm -f nginx mysql redis强制批量删除容器无需先停止案例3容器数据持久化# 1. 创建Docker卷docker volume create myvolume# 2. 查看Docker卷docker volume ls# 3. 运行容器并挂载卷docker run -d --name mycontainer -v myvolume:/data ubuntu:20.04# 4. 进入容器docker exec -it mycontainer bash# 5. 在容器中创建文件touch /data/test.txtecho Hello Docker Volume /data/test.txt# 6. 退出容器exit# 7. 停止并删除容器docker stop mycontainerdocker rm mycontainer# 8. 重新运行容器并挂载相同的卷docker run -d --name mycontainer2 -v myvolume:/data ubuntu:20.04# 9. 进入新容器docker exec -it mycontainer2 bash# 10. 查看文件是否存在cat /data/test.txt# 11. 退出容器exit# 12. 删除容器和卷docker stop mycontainer2docker rm mycontainer2docker volume rm myvolume一、镜像管理命令说明常用选项docker build -t 镜像名 .构建镜像-t指定名称和标签docker images查看镜像列表docker rmi 镜像名删除镜像docker pull 镜像名从仓库拉取镜像二、容器管理高频核心命令说明常用选项docker run运行容器-d后台运行--name指定名称-p 宿主机:容器端口映射-v挂载卷或目录-e设置环境变量--restart重启策略docker ps查看容器-a显示所有含已停止docker stop 容器停止容器支持批量空格分隔docker start 容器启动已停止的容器支持批量docker rm 容器删除容器-f强制删除运行中也可删docker exec进入容器执行命令-it交互式终端-i保持 STDIN-t分配伪终端docker logs 容器查看容器日志三、数据卷管理 删了容器数据还在命令说明常用选项docker volume create 卷名创建数据卷docker volume ls查看所有卷docker volume rm 卷名删除数据卷docker volume inspect 卷名查看卷详细信息四、常用选项详解重点掌握选项全称/含义使用场景-d--detach后台运行让容器在后台守护不占用终端-it--interactive--tty进入容器进行交互操作如 bash、mysql 客户端-p--publish端口映射格式宿主机端口:容器端口-v--volume挂载卷格式卷名:容器路径或宿主机路径:容器路径-e--env设置环境变量格式KEYvalue如MYSQL_ROOT_PASSWORDroot--name为容器命名便于后续管理不指定则随机生成-a--all配合 psdocker ps -a显示所有容器含已停止-f--force配合 rmdocker rm -f强制删除运行中的容器

相关新闻

Llama 工具调用翻车实录:描述越详细,准确率反而降 30%——我的技能模板救场方案

Llama 工具调用翻车实录:描述越详细,准确率反而降 30%——我的技能模板救场方案

Llama 工具调用翻车实录:描述越详细,准确率反而降 30%--我的技能模板救场方案 从「删除数据库」到精准调度:大模型工具调用的优化实战 周五灰度部署前,我的 AI 智能体突然把「发送邮件」工具调成了「删除数据库」。看着监控面板上暴涨的错误率,我意识到 Llama 对工具描述的理解…

2026/10/25 9:01:19 阅读更多 →
LCA算法全解析:从倍增到Tarjan,四种经典模板实现与应用场景

LCA算法全解析:从倍增到Tarjan,四种经典模板实现与应用场景

1. 项目概述:从“最近公共祖先”到算法竞赛的基石 最近公共祖先,简称LCA,这个概念听起来有点学术,但它在解决很多实际问题时,就像一把万能钥匙。想象一下,你面前有一棵庞大的家族树,你想知道张三…

2026/10/26 15:12:09 阅读更多 →
跳出花哨模板陷阱:毕夏 AI AIPPT,一站式搞定学术全场景演示文稿

跳出花哨模板陷阱:毕夏 AI AIPPT,一站式搞定学术全场景演示文稿

不少科研学生都会陷入同一个难题:耗费大量精力写完文稿,却卡在 PPT 制作环节。市面上多数 AI PPT 工具偏向商业宣传场景,模板浮夸、逻辑松散,很难适配学术汇报严谨规范的要求。手动制作 PPT,梳理框架、提炼文字、绘制图…

2026/10/24 3:18:37 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/10/28 23:48:14 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/10/28 7:28:00 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/10/28 9:02:11 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/10/28 22:10:30 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/10/28 9:00:54 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/10/28 7:29:02 阅读更多 →

日新闻

周新闻

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/28 16:58:40 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/28 9:01:47 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/28 19:25:09 阅读更多 →