一、docker簡介
??Docker是一個開源的應(yīng)用容器引擎,可以讓開發(fā)者將應(yīng)用及其依賴打包在一個虛擬的容器中,方便地部署、移植、升級和管理。Docker可以運行在Linux、Windows和MacOS等操作系統(tǒng)上,并且可以在不同的平臺之間進(jìn)行交互和遷移。Docker的主要特點包括輕量級、快速、易于使用、可移植和可擴(kuò)展等。Docker的生態(tài)系統(tǒng)非常豐富,有許多第三方工具和插件可以與之配合使用,如Docker Compose、Docker Swarm等。Docker已經(jīng)成為了現(xiàn)代化軟件開發(fā)和部署的標(biāo)準(zhǔn)之一,被廣泛應(yīng)用于云計算、容器化、微服務(wù)等領(lǐng)域。在一些不能訪問互聯(lián)網(wǎng)的局域網(wǎng)環(huán)境中,如果我們需要部署應(yīng)用系統(tǒng)服務(wù),需要安裝許多的軟件依賴,我們可以采用容器部署方式,將系統(tǒng)服務(wù)依賴的軟件包提前安裝到容器中,然后生成定制的鏡像文件,這樣就可以實現(xiàn)系統(tǒng)服務(wù)的快速離線部署。當(dāng)然,既然是離線環(huán)境,容器所需的docker環(huán)境我們也需要離線部署。此博文介紹docker離線安裝方式,博文實驗環(huán)境如下:
- 操作系統(tǒng):centos7.9
- docker版本:23.0.1
二、安裝步驟
1、下載docker安裝包
??訪問docker官網(wǎng)下載所需的docker版本軟件包。
[root@s142 tmp]# wget https://download.docker.com/linux/static/stable/x86_64/docker-23.0.1.tgz
[root@s142 tmp]# ll -h
total 64M
-rw-r–r-- 1 root root 64M Mar 8 19:23 docker-23.0.1.tgz
2、中斷網(wǎng)絡(luò)模擬內(nèi)網(wǎng)
??博文是在虛擬機(jī)環(huán)境下模擬隔離網(wǎng)絡(luò),可以通過刪除DNS地址或者不配置網(wǎng)關(guān)地址的方式模擬隔離網(wǎng)絡(luò)。
[root@s142 tmp]# ping www.baidu.com
ping: www.baidu.com: Name or service not known
3、解壓軟件包
[root@s142 tmp]# tar -zxvf docker-23.0.1.tgz
docker/
docker/docker-proxy
docker/containerd
docker/dockerd
docker/runc
docker/docker-init
docker/containerd-shim-runc-v2
docker/ctr
docker/docker
4、復(fù)制docker目錄下的文件到/usr/bin目錄下
??查看解壓后的目錄,我們可以發(fā)現(xiàn)都是一些可以執(zhí)行文件,我們將這些文件全部復(fù)制到/usr/bin目錄下。
5、創(chuàng)建docker.service文件
??進(jìn)入到/usr/lib/systemd/system/目錄下,我們編輯創(chuàng)建docker.service文件,用于管理docker服務(wù),復(fù)制黏貼如下內(nèi)容即可。
[root@s142 tmp]# vim /usr/lib/systemd/system/docker.service
[Unit]
Description=Docker Application Container Engine
Documentation=http://docs.docker.com
After=network.target docker.socket
[Service]
Type=notify
EnvironmentFile=-/run/flannel/docker
WorkingDirectory=/usr/local/bin
ExecStart=/usr/bin/dockerd \
-H tcp://0.0.0.0:4243 \
-H unix:///var/run/docker.sock \
--selinux-enabled=false \
--log-opt max-size=100m
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
[Install]
WantedBy=multi-user.target
6、重新加載daemon-reload
[root@s142 tmp]# systemctl daemon-reload
7、查看docker版本
8、啟動docker
[root@s142 system]# systemctl start docker
9、上傳本地鏡像到服務(wù)器
[root@s142 system]# ll /tmp/ |grep ubuntu
-rw-r–r-- 1 root root 4104475648 May 11 11:19 ubuntu_conda.tar
10、加載鏡像文件到docker
[root@s142 system]# docker load < /tmp/ubuntu_conda.tar
[root@s142 system]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu_conda latest b1ff3fd0fb2e 12 hours ago 3.99GB
11、使用鏡像啟動容器實例
[root@s142 system]# docker run -itd --name utest ubuntu_conda
9b10eebcf96c1c2ec324356e136e76304f6a996550a538253b3d5ffa04f8bc29
12、查看容器運行情況看
[root@s142 system]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9b10eebcf96c ubuntu_conda “/bin/bash” About a minute ago Up About a minute utest
三、寫在結(jié)尾
??離線安裝docker百度查到的是需要手動安裝依賴libcgroup庫和device-mapper,博主實驗時未手動安裝這兩個包,檢查centos7.9系統(tǒng)已經(jīng)安裝了device-mapper,但是沒有l(wèi)ibcgroup庫,但是docker運行并沒有發(fā)現(xiàn)問題??夏苁且驗閏entos7.9系統(tǒng)環(huán)境原因與網(wǎng)上博主環(huán)境有區(qū)別。所以將這部分留在最后,待后續(xù)docker運行發(fā)現(xiàn)有問題再進(jìn)一步更新。文章來源:http://www.zghlxwxcb.cn/news/detail-692684.html
[root@s142 system]# rpm -qa |grep libcgroup
[root@s142 system]# rpm -qa |grep device-mapper
device-mapper-persistent-data-0.7.3-3.el7.x86_64
device-mapper-1.02.149-8.el7.x86_64
device-mapper-libs-1.02.149-8.el7.x86_64
device-mapper-event-libs-1.02.149-8.el7.x86_64
device-mapper-event-1.02.149-8.el7.x86_64文章來源地址http://www.zghlxwxcb.cn/news/detail-692684.html
到了這里,關(guān)于Docker之centos7環(huán)境離線安裝的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!