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

【Docker】基础

什么是Docker?

Docker 是一种开源的容器化平台,它允许开发者将应用程序及其所有依赖(如库、运行时环境、系统工具等)打包到一个标准化的 “容器” 中,从而实现应用在不同环境(开发、测试、生产)之间的快速、一致且隔离的部署


什么是容器化?

容器化是一种操作系统级虚拟化技术,可以实现应用的隔离、可移植和高效部署。

与虚拟机的区别

不包含OS,更小更快

容器化虚拟机(VM)
隔离级别进程级隔离(共享宿主机内核完全隔离(包含独立操作系统
资源占用轻量(MB 级)重量级(GB 级)
启动速度秒级 / 毫秒级分钟级
移植性极高(基于镜像标准)较低(依赖硬件和虚拟化层

三大核心组成部件

  • 镜像是容器的 “模板”(静态文件)
  • 容器是镜像的 “运行实例”(动态进程)
  • 仓库是镜像的 “存储与分发平台”

1. 镜像(Image)

  • 是包含应用程序及所有依赖(代码、运行环境、库、配置文件等)的只读模板

  • 不占用运行资源,无法直接操作,只能作为创建容器的基础。

  • 采用分层存储设计,可通过 Dockerfile 构建或从仓库拉取。(多个镜像共享底层,避免重复存储相同内容。修改文件时才复制到可写层)

2. 容器(Container)

  • 是镜像运行后的动态实例,本质是隔离的进程环境。

  • 基于镜像创建,可独立启动、停止、删除、交互,拥有自己的文件系统和网络空间。

  • 容器停止后,未持久化的数据会丢失,删除容器不影响原始镜像。

3. 仓库(Repository)

  • 用于集中存储和分发 Docker 镜像的平台,类似代码仓库(如 GitHub)。

  • 分为公开仓库(如 Docker Hub)和私有仓库,支持镜像的上传(push)、下载(pull)。

  • 一个仓库可包含多个标签(Tag)的镜像,对应不同版本(如 nginx:1.21、nginx:latest)。

三者关系

  1. 从仓库拉取镜像到本地(docker pull)。

  2. 基于本地镜像创建并启动容器(docker run)。

  3. 容器运行中产生的变更可提交为新镜像(docker commit)。

  4. 新镜像可上传到仓库供他人使用(docker push)。


指令

查看镜像image ls

docker images
docker image ls

拉取镜像pull

docker pull [选项] 镜像名称[:标签]#拉取默认镜像latest(最新)
docker pull 镜像名称#拉取指定标签的镜像
docker pull 镜像名称:标签#拉取私有仓库的镜像
# 登录私有仓库
docker login 仓库地址
# 拉取私有镜像
docker pull 仓库地址/镜像名称:标签

删除镜像rm

docker image rm 镜像id

查看历史history

docker history 镜像id

显示容器ps(Process Status

docker ps

运行容器run

#后台运行容器detached mode
docker run -d 依据的镜像名#交互式运行容器interactive mode+Teletypewriter
docker run -it 依据的镜像名#--name起别名 -p主机端口:服务器端口
docker run -d --name nginx-default -p 8080:80

容器没有前台进程会立即退出

进入容器exec bash

docker exec -it 容器ID/名字 /bin/sh
docker exec -it 容器ID/名字 bash

ctrl+d退出容器

查看详细元数据inspect

docker inspect id

删除容器rm(remove)

#强制删除容器
docker rm -f ID(或者名字)#停止容器
#退出容器
docker stop 容器名
docker rm 容器名

http://www.dtcms.com/a/597172.html

相关文章:

  • AI应用开发的架构哲学:框架、平台与定制的协同(ComfyUI+cnb+云存储)
  • MySQL快速入门——索引
  • 舆情处置的技术实现:Infoseek 如何用 AI 重构 “识别 - 研判 - 处置” 全链路
  • gRPC vs RPC 高频面试题
  • 淘宝联盟推广网站怎么做什么是搜索引擎
  • 扬州住房城乡建设局网站设计画册
  • 在线视频网站a做免费下载中山精品网站建设价位
  • LangFlow 节点(Node)
  • Linux设置系统同步时间
  • 花垣网站建设一台主机做两个网站
  • 生成模型技术宇宙:从VAE到世界模型,揭示AIGC核心引擎
  • 网站建设中魔板免费扑克网站代码
  • 股指期货的收益和风险大吗?
  • 第12章 测试编写
  • 性能测试之使用 adb 查看设备CPU占用与数据分析
  • 【AUTOSAR SOMEIP】SD状态机
  • 海尔网站建设情况wordpress 没有保存
  • CSS 对齐
  • 从流批一体到湖仓一体架构演进的思考
  • 如何查看网站是否降权九江市住房和城乡建设厅网站
  • 从基本用法到迭代器实现—list重难点突破
  • 智能建站软件宁波房产网二手房出售
  • 如何从iPhone向Android 发送视频?8 种方法
  • LLM 相关内容
  • 研发管理知识库(4)华为研发管理流程简介
  • 【国内电子数据取证厂商龙信科技】手机取证之文件碎片
  • 【OpenCV + VS】OpenCV初步:在VS中配置并运行第一个OpenCV Demo
  • Java入门——Java跨平台的原理
  • 16、做中学 | 初三上期 Golang面向对象_进阶
  • Java 不同创建线程的方式什么时候才可以使用 this 来获取线程的引用