一.docker是什么。
Docker 是一个开源的容器化平台,通过将应用程序及其依赖项(如代码、运行时环境、系统工具等)打包到轻量级、可移植的容器中,实现「一次构建,处处运行」的现代化开发模式。它利用了 Linux 内核特性来创建独立的工作环境。
基于go语言开发并遵循apache2.0协议开源。
Docker的容器技术,可以在一台主机上轻松为任何应用创建一个轻量级的、可移植的、自给自足的容器。
通俗的来说就是在主机上,主机上可以有很多相互隔离的容器,每个容器中都包含自己的应用程序。
二.docker的架构
docker各组件的作用:
Docker 客户端(Docker Client):用户与 Docker 交互的接口,接收用户命令并发送给 Docker 守护进程。
Docker 守护进程(Docker Daemon):后台服务,负责处理客户端请求,管理镜像和容器。
Docker 镜像(Docker Image):只读模板,包含运行应用所需的文件系统和环境。
Docker 容器(Docker Container):镜像的运行实例,是独立、隔离的环境。
Docker 注册表(Docker Registry):存储和分发 Docker 镜像的服务。
架构图:
架构图解释
客户端与守护进程:用户通过 Docker 客户端输入命令,如 docker build 或 docker run,客户端将这些命令发送给 Docker 守护进程进行处理。
守护进程与注册表:Docker 守护进程可以从 Docker 注册表中拉取镜像,也可以将本地构建的镜像推送到注册表中。
守护进程与镜像:守护进程负责构建新的 Docker 镜像,并将其存储在本地。
守护进程与容器:守护进程根据镜像创建和管理 Docker 容器,包括启动、停止和删除容器。
镜像与容器:Docker 容器是 Docker 镜像的运行实例,通过实例化镜像来创建容器。
三。docker与虚拟机的区别
四.docker的核心概念
镜像
是创建容器的基础
是一个只读的模板文件,里面包含运行容器中的应用程序所需要的所有资料(比如应用程序执行文件、配置文件、动态库文件、依赖包、系统文件和目录等)
容器
是用镜像运行的实例
容器可以被创建、启动、停止、删除,每个容器之间默认是相互隔离的
仓库
是用来集中保存镜像的地方
有公有仓库和私钥仓库之分
五.在虚拟机上安装:(可以参考官方的安装步骤:链接:
https://docs.docker.com/engine/install/centos/)
- 首先移除旧版本的docker
[root@zhangjiarong local]# yum remove docker \
> docker-client \ docker-client-latest \
> docker-common \
> docker-latest \
> docker-latest-logrotate \ docker-logrotate \
> docker-engine
- 添加docker的下载源、
[root@zhangjiarong local]# mv /etc/yum.repos.d/docker-ce.repo /etc/yum.repos.d/docker-ce.repo.bak
[root@zhangjiarong local]# cat <<EOF > /etc/yum.repos.d/docker-ce.repo
> [docker-ce-stable]
> name=Docker CE Stable - \$basearch
> baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/7/\$basearch/stable
> enabled=1
> gpgcheck=1
> gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg
> EOF
[root@zhangjiarong local]# yum clean all
[root@zhangjiarong local]# yum makecache
安装
[root@zhangjiarong local]# sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
完成
启动docker
[root@zhangjiarong local]# sudo systemctl start docker
[root@zhangjiarong local]# docker -v #查看docker的版本信息
Docker version 26.1.4, build 5650f9b
可以自启动docker(也就是下一次开机时,docker会自启动)
[root@zhangjiarong local]# systemctl enable docker
为docker配置加速器
#首先
[root@zhangjiarong zhangjiarong]# vim /etc/docker/daemon.json
/etc/docker/daemon.json文件内容
{
"registry-mirrors": ["https://docker.m.daocloud.io"],
"debug": true,
"allow-nondistributable-artifacts": ["docker.m.daocloud.io"]
}
重启docker
[root@zhangjiarong zhangjiarong]# systemctl daemon-reload
[root@zhangjiarong zhangjiarong]# systemctl restart docker
查看docker具体信息
测试是否可以拉取镜像
可以,表明docker已经安装并且配置成功