docker之核心概念与安装

本文深入解析Docker的三大核心概念:镜像、容器和仓库,详细介绍Docker引擎的版本和安装过程,以及如何在CentOS环境下配置和使用Docker,包括镜像的管理、容器的运行和测试。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Docker核心概念:

Docker有三大核心概念:镜像、容器和仓库。熟悉三大核心概念对于掌握Docker技术很重要。

Docker镜像:

Docker镜像类似于虚拟机镜像,可以理解为一个只读的模板。
镜像是创建Docker容器的基础。

Docker容器:

Docker容器类似于一个轻量级的沙箱,Docker利用容器来运行和隔离应用。
容器是从镜像创建的应用运行实例。它可以启动、停止、删除,而容器之间是彼此互相隔离、互不可见的。
可以把容器看做一个简易的linux系统及运行着应用程序的一个盒子。

Docker仓库:

Docker仓库类似于代码仓库,是Docker集中存放镜像文件的场所。
目前最大的公开仓库是Docker Hub。

注:镜像自身是只读的,容器从镜像启动的时候,会在镜像最上层创建一个可写层。

Docker引擎:

Docker引擎目前分为两个版本:社区版本(CE)和企业版本(EE)。
社区版本包括大部分的核心功能,企业版本通过付费的方式提供认证支持、镜像管理、容器托管、安全扫描等高级服务。
社区版本每个月会发布一次尝鲜版本,每个季度(3、6、9、12)会发布一次稳定版本。版本命名格式为“年份.月份”。

安装Docker:

系统环境为rocky 9.6,设置镜像源为阿里源。

[root@docker01 ~]# cat /etc/redhat-release 
Rocky Linux release 9.6 (Blue Onyx)

设置容器源为阿里源:

[root@docker01 ~]# dnf install -y yum-utils device-mapper-persistent-data lvm2
[root@docker01 ~]# yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
[root@docker01 ~]# dnf makecache fast

安装并启动Docker:

[root@docker01 ~]# dnf -y install docker-ce
[root@docker01 ~]# systemctl start docker
[root@docker01 ~]# systemctl enable docker
[root@docker01 ~]# docker -v
Docker version 28.3.3, build 980b856

配置镜像加速:

[root@docker01 ~]# vim /etc/docker/daemon.json
[root@docker01 ~]# cat /etc/docker/daemon.json 
{
	"registry-mirrors": [
	  "https://docker.1ms.run",
	  "https://proxy.1panel.live",
	  "https://docker.xuanyuan.me",
	  "https://docker.m.daocloud.io",
	  "https://docker.rainhond.cc",
	  "https://func.ink",
	  "https://lispy.org",
	  "https://655dds7u.mirror.aliyuncs.com"
	]
}

运行容器测试:

[root@docker01 ~]# docker run -d -p 80:80 --name web nginx
[root@docker01 ~]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                NAMES
0091879e5d99        nginx               "nginx -g 'daemon of…"   30 seconds ago      Up 29 seconds       0.0.0.0:80->80/tcp   web

Docker镜像管理:

  • 搜索镜像:docker search [关键词]
  • 例:
# docker search centos		#搜索centos镜像(优先选择星数多的)
  • 获取镜像:docker pull NAME:[TAG]
  • 例:
# docker pull busybox:latest	#获取busybox:latest镜像,不指定TAG默认下载最新版
  • 查看镜像:docker images或docker image ls
  • 例:
# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
nginx               latest              602e111c06b6        12 days ago         127MB
busybox             latest              be5888e67be6        2 weeks ago         1.22MB

镜像的五列信息分别为:镜像来源,镜像标签,镜像ID,创建时间,镜像大小

  • 添加镜像标签:docker tag [镜像] [镜像标签]
  • 例:
# docker tag busybox:latest user/busybox:latest
  • 查看详细信息:docker inspect [镜像]
  • 例:
# docker inspect busybox:latest
  • 删除镜像:docker rmi 或 docker image rm

  • 例:

# docker rmi -f nginx		#-f选项为强制删除镜像,即使有容器依赖它
  • 清理镜像:docker image prune
  • 例:
# docker image prune -a		#清除所有无用镜像
选项:
-a:删除所有无用镜像,不仅是临时镜像
-f:强制删除镜像,不进行确认
  • 导出镜像:docker save
  • 例:
# docker save -o busybox_latest.tar busybox:latest
# ls
busybox_latest.tar
  • 载入镜像:docker load
  • 例:
# docker load -i busybox_latest.tar
  • 上传镜像:docker push
  • 例:
# docker tag busybox:latest user/busybox:latest
# docker push user/busybox:latest

下一节将介绍docker容器管理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

丶重明

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值