docker離線安裝并導(dǎo)入鏡像過(guò)程
實(shí)際項(xiàng)目開(kāi)發(fā)過(guò)程中,客戶環(huán)境大多是全內(nèi)網(wǎng)環(huán)境,無(wú)法連接互聯(lián)網(wǎng)。這樣docker就不能yum在線聯(lián)網(wǎng)安裝,所需要的鏡像也不能在線pull下載。這時(shí)就需要進(jìn)行離線安裝docker及鏡像。
1、下載docker安裝文件
離線安裝docker,需要下載docker的安裝文件。
地址:https://download.docker.com/linux/static/stable/x86_64/
我下的是最新的版本[docker-19.03.6.tgz],文件不大,只有60M左右。
2、離線docker安裝
將安裝包文件上傳到服務(wù)器目錄并解壓。
[root@iZbp13sno1lc2yxlhjc4b3Z ~]#tar -xvf docker-19.03.6.tar
將解壓出來(lái)的docker文件內(nèi)容移動(dòng)到 /usr/bin/ 目錄下
[root@iZbp13sno1lc2yxlhjc4b3Z ~]#cp docker/* /usr/bin/
將docker注冊(cè)為service,在/etc/systemd/system目錄下創(chuàng)建docker.service文件,并配置如下內(nèi)容保存。
[root@iZbp13sno1lc2yxlhjc4b3Z ~]#vim /etc/systemd/system/docker.service [Unit] Description=Docker Application Container Engine Documentation=https://docs.docker.com After=network-online.target firewalld.service Wants=network-online.target [Service] Type=notify # the default is not to use systemd for cgroups because the delegate issues still # exists and systemd currently does not support the cgroup feature set required # for containers run by docker ExecStart=/usr/bin/dockerd ExecReload=/bin/kill -s HUP $MAINPID # Having non-zero Limit*s causes performance problems due to accounting overhead # in the kernel. We recommend using cgroups to do container-local accounting. LimitNOFILE=infinity LimitNPROC=infinity LimitCORE=infinity # Uncomment TasksMax if your systemd version supports it. # Only systemd 226 and above support this version. #TasksMax=infinity TimeoutStartSec=0 # set delegate yes so that systemd does not reset the cgroups of docker containers Delegate=yes # kill only the docker process, not all processes in the cgroup KillMode=process # restart the docker process if it exits prematurely Restart=on-failure StartLimitBurst=3 StartLimitInterval=60s [Install] WantedBy=multi-user.target
添加文件權(quán)限并啟動(dòng)docker,執(zhí)行如下命令:
chmod +x /etc/systemd/system/docker.service #添加文件權(quán)限 systemctl daemon-reload #重載unit配置文件 systemctl start docker #啟動(dòng)Docker systemctl enable docker.service #設(shè)置開(kāi)機(jī)自啟
驗(yàn)證docker安裝是否成功:
systemctl status docker #查看Docker狀態(tài) docker -v #查看Docker版本
Docker離線安裝好后,下面我們把鏡像導(dǎo)入到Docker。
3、離線鏡像文件導(dǎo)入
內(nèi)網(wǎng)環(huán)境沒(méi)法pull鏡像,但是docker本身可以將已有的鏡像導(dǎo)出成tar文件,并且可以再次導(dǎo)入到docker,利用這一點(diǎn),可以實(shí)現(xiàn)離線鏡像文件的下載。
找一臺(tái)可以聯(lián)網(wǎng)的docker機(jī)器,并pull下載需要的鏡像文件。
然后使用如下命令將鏡像文件導(dǎo)出:
docker save java:8 -o java.tar #將java 8的鏡像導(dǎo)出成tar文件
將tar文件上傳到內(nèi)網(wǎng)docker服務(wù)器,使用如下命令導(dǎo)入鏡像文件:
docker load -i java.tar
查看導(dǎo)入的鏡像文件:
[root@iZbp13sno1lc2yxlhjc4b3Z ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE java 8 d23bdf5b1b1b 3 years ago 643MB
OK,通過(guò)上述方式,實(shí)現(xiàn)了內(nèi)網(wǎng)環(huán)境下docker的安裝和鏡像文件下載。后續(xù)我們就可以愉快的使用docker來(lái)部署管理我們的應(yīng)用了。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
docker無(wú)法通過(guò)宿主機(jī)IP訪問(wèn)容器內(nèi)服務(wù)的問(wèn)題解決
在宿主機(jī)上宿主機(jī)IP無(wú)法訪問(wèn)容器內(nèi)的7861端口服務(wù),但通過(guò)localhost可以訪問(wèn),下面就來(lái)詳細(xì)的介紹一下該問(wèn)題的解決,具有一定的參考價(jià)值,感興趣的可以了解一下2026-04-04
優(yōu)化 Docker 鏡像大小常見(jiàn)的方式
這篇文章主要介紹了如何優(yōu)化 Docker 鏡像大小,幫助大家更好的理解和使用docker容器,感興趣的朋友可以了解下。2020-09-09
Docker資源(CPU/內(nèi)存/磁盤(pán)IO)限制全解析
在Docker容器化部署中,資源隔離與限制是保障系統(tǒng)穩(wěn)定性的關(guān)鍵,本文將從CPU、內(nèi)存、磁盤(pán)IO三大核心資源入手,詳細(xì)講解Docker資源限制的參數(shù)配置、實(shí)操驗(yàn)證、注意事項(xiàng),同時(shí)補(bǔ)充空間清理、命令速查與避坑指南2025-12-12
使用Docker構(gòu)建Python FastAPI鏡像的最佳實(shí)踐
本文分享了優(yōu)化Python FastAPI應(yīng)用Docker部署的關(guān)鍵技巧:使用slim基礎(chǔ)鏡像減小體積,通過(guò)多階段構(gòu)建分離編譯與運(yùn)行環(huán)境,利用.dockerignore排除無(wú)關(guān)文件,推薦采用非root用戶運(yùn)行增強(qiáng)安全性,需要的朋友可以參考下2026-02-02

