一.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已經安裝并且配置成功