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

docker初步学习

docker命令(镜像管理) 镜像属于是不可变基础设施(很少变基本不变)

从库中拉镜像: docker pull 镜像名 查看本地docker镜像 docker images 删除镜像: docker rmi 镜像名 (要求没人使用) 打包(把拉出的镜像打包到一个文件) docker save 镜像名 >文件名 dockeer save 镜像名 |gizp > 文件名 一条命令直接把镜像压缩 拓展,如果要把集群内所有镜像打包放到另一个集群 docker images |awl 'NR>1{print $1}' |> 文件名 scp 文件名 root@目标集群ip 转移至目标主机执行 docker load > 文件名 导入文件: docker load -i 文件名 docker load > 文件名 ​ 更改镜像名字: docker tar 原镜像名 目标镜像名 ​ 删掉没有名称或者不再使用的镜像: docker prune ​ ​ 拓展,如果要把集群内所有镜像打包放到另一个集群 docker images |awl 'NR>1{print $1}' |> 文件名 scp 文件名 root@目标集群ip 转移至目标主机执行 docker load > 文件名

docker命令(容器管理)

启动容器: docker run [选项] [镜像名] [shell命令] [参数] 一般是 docker run --name 名字 镜像名 -d -d是让程序后台运行 查看容器(镜像)信息可以看ip: docker inspect 进程名 退出容器但是不停止运行: ctrl+p+q 删除容器 docker rm 容器名/id 删除所有容器: docker rm -f 'docker ps -qa' qa表示的是显示集群里所有容器的id 容器的暂停: docker pause 容器名 容器暂停时仍然占用宿主机的磁盘空间 是暂停的容器恢复运行: docker unpause 容器名 容器的停止: docker stop 容器名 容器停止后不在占用程序不在占用宿主机的磁盘空间 进入容器进行操作: docker exec -it 容器名 bash docker exec -it 容器名 sh -it 是为了进入容器后有终端窗口进行交互 暴露端口给宿主机: docker run -d --name 名字 -P 镜像名 -P就是给宿主机容器的端口然宿主机也能查到 指定端口: docker run -d --name 名字 -p 宿主机端口:容器端口 镜像名 可以跟宿主机开机自启动: docker run -d --restart awalys --name 名字 镜像名 宿主机文件和容器文件相互复制: docker cp 文件 文件 哪个文件在前就是把哪个文件复制到另一个地方去 清理不再使用的容器: docker system prune
命令作用能否开启新终端退出后是否会停止容器
docker exec在运行的容器里开启一个新进程可以不会
docker attach连接到容器当前的主进程不能有可能会造成容器停止

docker名称空间(隔离)

user 每个容器有自己的用户 mount 每个容器都有自己的根目录 pid 进程 ipc 进程间通讯 network 网络 uts 主机名隔离

docker排错

docker ps 确认容器运行状态,端口映射和启动时间 docker inspect 看看容器内主进程的标准输出和错误日志 docker logs 看看容器的详细配置

镜像制作

第一种方式:

基于现有的容器 进入容器后修改配置修改成自己想要的模样 退出容器 执行命令: docker commit 容器名 镜像名

缺点:手工制作效率低,不能自动化

第二种方式:

dockerfile:

dockerfile指令:

FROM 指定基础镜像 RUN 执行命令 COPY 复制文件 ADD 加强版复制 WORKDIR 设置工作目录 ENV 设置环境变量 AGR 构建参数 EXPOSE 声明端口 CMD 默认命令 ENTRYPOINT 入口点 VLOUME 挂载卷 USER 切换用户 LABEL 添加元数据 HEALTHCHECK 健康检查
http://www.jsqmd.com/news/820408/

相关文章:

  • 关于miniconda不能使用tab键补全
  • LLM/AI编排:自动强制循环修复与审计(一)
  • 【LLM】RL基本概念
  • PySpark 安装全过程总结
  • MicroBlaze软核在DDR3里跑,你的sleep函数为啥“睡过头”?Vitis 2020.1避坑实录
  • 【职场】为什么职场里最危险的人,不是坏人,而是「好人缘」的人
  • 2026年杭州算力市场大揭秘:哪家才是真正专业之选?
  • 当下Java面试临时刷刷八股还有用吗?
  • HPC能效优化:异构计算与算法革新实践
  • 2026年和平区管道疏通施工队,究竟有何独特之处值得关注?
  • 高压直流配电技术:数据中心能效革命的关键
  • 高频谐波Betatron边带优化技术在束流提取中的应用
  • Ecovadis认证咨询机构推荐及选择参考 - 品牌排行榜
  • 掌握Avogadro 2:从分子可视化到计算化学的完整实践指南
  • Godot引擎软体物理插件:基于PBD的可变形网格实现与应用
  • 当AI接过你的购物车,电商的游戏规则被改写
  • AI崛起,Java面试还需要背八股文吗?
  • 基于OpenClaw-Honcho的多智能体系统构建:从原理到工程实践
  • AI Agent 安全治理深度解析:MCP Server 与 A2A Agent 的自动化扫描架构
  • 2026目前好用的铁路运输抑尘剂品牌厂家口碑推荐 - 品牌排行榜
  • 出口黎巴嫩必知:清关要求与税费标准
  • Adafruit PiCowBell扩展板:简化Raspberry Pi Pico原型设计的终极利器
  • 2026年7月夏季供应链管理专家(SCMP)考试通知
  • ARM架构系统寄存器解析:CPACR_EL1与CPTR_EL2详解
  • 2026年法式拼瓷砖厂家榜单好评分析就选择:芒果瓷砖 - 品牌推广大师
  • 2026年北京好用的纤维素抑尘剂厂家排名 - 品牌排行榜
  • 基于meta-kb构建智能知识库:从文档向量化到RAG应用实战
  • B站缓存视频转换终极指南:3分钟无损转MP4的完整教程
  • SystemRescue 9.06 系统救援工具:新特性解析与实战应用指南
  • 2026年小程序开发审核新规则,轻松应对不通过难题