最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Docker和Docker-compose離線包部署全過程

 更新時(shí)間:2025年10月31日 09:41:22   作者:學(xué)無止境的寶媽  
本文介紹了在局域網(wǎng)內(nèi)無法訪問外網(wǎng)的工作服務(wù)器上部署Docker和Docker Compose的步驟,包括選擇合適的Docker靜態(tài)包版本、下載Docker官方靜態(tài)包、配置Docker服務(wù)和daemon.json文件、下載Docker和Docker Compose文件、打包文件以及編寫離線安裝腳本

適用場景

工作服務(wù)器有時(shí)為局域網(wǎng),不能連外網(wǎng)的情況下。

在線部署的話參考官方文檔:

https://docs.docker.com/engine/install/centos/#install-from-a-package

選擇適合的Docker靜態(tài)包版本

訪問Docker官方靜態(tài)包下載頁面

https://download.docker.com/linux/static/stable/

時(shí),需要根據(jù)操作系統(tǒng)架構(gòu)選擇正確的版本。

常見的架構(gòu)類型包括:

  • x86_64/amd64:大多數(shù)現(xiàn)代Linux服務(wù)器的標(biāo)準(zhǔn)架構(gòu)
  • aarch64/arm64:ARM架構(gòu)處理器(如樹莓派、AWS Graviton實(shí)例,大部分信創(chuàng)服務(wù)器為arm架構(gòu))
  • s390x/ppc64le:IBM Power和Z系統(tǒng)架構(gòu)

版本命名規(guī)則示例:

  • docker-<version>.tgz(如docker-24.0.7.tgz)表示最新穩(wěn)定版
  • docker-<version>-ce.tgz(如docker-19.03.9-ce.tgz)表示社區(qū)版

docker-compose版本的選擇,可在官網(wǎng)發(fā)行記錄下找到:

https://docs.docker.com/engine/release-notes/20.10/

離線安裝腳本示例

1、準(zhǔn)備docker.service

vi 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 --graph /workspace/docker_data/docker/lib/
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

2、準(zhǔn)備daemon.json文件

{ 
  "exec-opts": ["native.cgroupdriver=systemd"],
  "log-driver": "json-file",
  "log-opts": { 
    "max-size": "512m",
    "max-file": "10",
    "compress": "true"
   },
  "storage-driver": "overlay2",
  "registry-mirrors" : [ 
    "https://ot2k4d59.mirror.aliyuncs.com/"
   ],
  "insecure-registries": ["xx.xx.xx.xx"]
 }

log-opts為日志限制,以防docker日志把服務(wù)器磁盤吃完,max-size單文件最大限制,max-file文件最多個(gè)數(shù),registry-mirrors為加速器,有用的加速器可嘗試以下內(nèi)容

"registry-mirrors": [
     "https://docker.1ms.run",
     "https://docker.mybacc.com",
     "https://dytt.online",
     "https://lispy.org",
     "https://docker.xiaogenban1993.com",
     "https://docker.yomansunter.com",
     "https://aicarbon.xyz",
     "https://666860.xyz",
     "https://docker.zhai.cm",
     "https://a.ussh.net",
     "https://hub.littlediary.cn",
     "https://hub.rat.dev",
     "https://docker.m.daocloud.io",
     "https://dockerproxy.net"
   ],

3、下載docker和docker-compose文件

按照開頭說的地址下載docker和docker-compose文件

放到上面docke.service和daemon.json同目錄下。

將所有內(nèi)容打包,目錄結(jié)構(gòu)如下:

將上述文件壓縮成zip包后面復(fù)用,zip -r docker_package.zip docker_package

4、開始準(zhǔn)備腳本(示例腳本親測一直在用的)

以下腳本演示如何自動(dòng)化完成Docker和Docker Compose的離線安裝:

#!/bin/bash
#!/bin/bash
# 該腳本是以20.10.8版本為基準(zhǔn),其他版本需要改下面對應(yīng)版本號
# 定義當(dāng)前服務(wù)器最大的目錄,docker默認(rèn)是裝到根目錄下的
max_path=/workspace

max_docker_path=$max_path/docker_data/lib/
# 本機(jī)服務(wù)名寫入hosts文件,我在部署一些中間件或微服務(wù)時(shí)會(huì)提示unknown hostname的錯(cuò)誤,以下腳本可解決
grep "127.0.0.1 $(hostname)" /etc/hosts >/dev/null || echo "127.0.0.1 $(hostname)" >> /etc/hosts


if which docker >/dev/null; then
   echo "檢測到docker已安裝,跳過安裝步驟"
else
   unzip docker_package.zip
   mv ./docker_package/* ./
   mkdir -p /etc/docker
   cp ./daemon.json /etc/docker/
   echo '解壓tar包...'
   tar -xvf $(pwd)/docker-20.10.8.tgz
   echo '創(chuàng)建docker容器存放的路徑'
   mkdir -p ${max_docker_path}
   echo '將docker目錄移到/usr/bin目錄下...'
   cp ./docker/* /usr/bin/
   echo '將docker.service最大目錄進(jìn)行修改'
   sed -i -e  "s#ExecStart=.*#ExecStart=/usr/bin/dockerd --graph ${max_docker_path}#g" ./docker.service
   # 以下命令是解決有些操作系統(tǒng)部署后 內(nèi)存不夠用的問題   以下可解決
   kernel_real=`uname -r`
   if [[ $kernel_real == *oe* ]]; then
		sed -i -e  "s#LimitNOFILE=.*#LimitNOFILE=65535#g" ./docker.service
		sed -i -e  "s#LimitNPROC=.*#LimitNPROC=65535#g" ./docker.service
		sed -i -e  "s#LimitCORE=.*#LimitCORE=65535#g" ./docker.service	
   fi
   echo '將docker.service 移到/etc/systemd/system/ 目錄...'
   cp ./docker.service /etc/systemd/system/
   echo '添加文件權(quán)限...'
   chmod +x /etc/systemd/system/docker.service
   echo '重新加載配置文件...'
   systemctl daemon-reload
   echo '啟動(dòng)docker...'
   systemctl start docker
   echo '設(shè)置開機(jī)自啟...'
   systemctl enable docker.service
   echo 'docker安裝成功...'
   docker -v
fi	


if which docker-compose >/dev/null; then
   echo "檢測到 Docker Compose 已安裝,跳過安裝步驟"
else
   echo 'docker-compose 安裝'
   cp ./docker-compose-linux-x86_64 /usr/bin/docker-compose
   chmod +x /usr/bin/docker-compose
   echo 'docker-compose安裝成功...'
   docker-compose -v
fi   

# 清理戰(zhàn)場
rm -rf docker_package.zip
rm -rf docker_package
rm -rf docker-compose-linux-x86_64
rm -rf docker.service
rm -rf daemon.json
rm -rf docker-20.10.8.tgz
rm -rf docker

卸載docker和docker-compose

原路卸載

#停止docker服務(wù) 
systemctl stop docker
#刪除docker二進(jìn)制文件
rm -f /usr/bin/containerd
rm -f /usr/bin/containerd-shim
rm -f /usr/bin/containerd-shim-runc-v2
rm -f /usr/bin/ctr
rm -f /usr/bin/docker
rm -f /usr/bin/dockerd
rm -f /usr/bin/docker-init
rm -f /usr/bin/docker-proxy
rm -f /usr/bin/runc
#卸載docker-compose二進(jìn)制文件
rm -f /usr/bin/docker-compose

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • docker安裝minio功能不全問題解決方法

    docker安裝minio功能不全問題解決方法

    這篇文章主要介紹了docker安裝minio功能不全問題解決方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2025-06-06
  • docker 安裝Consul的教程 (最新版2023)

    docker 安裝Consul的教程 (最新版2023)

    ?consul是google開源的一個(gè)使用go語言開發(fā)的服務(wù)發(fā)現(xiàn)、配置管理中心服務(wù),內(nèi)置了服務(wù)注冊與 發(fā)現(xiàn)框 架、分布一致性協(xié)議實(shí)現(xiàn)、健康檢查、Key/Value存儲(chǔ)、多數(shù)據(jù)中心方案,不再需要依賴其 他工具,這篇文章主要介紹了最新版2023 docker 安裝Consul,需要的朋友可以參考下
    2023-12-12
  • docker如何部署etcd集群

    docker如何部署etcd集群

    這篇文章主要介紹了docker如何部署etcd集群問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • Docker給容器添加新端口映射的兩種方法及常用命令舉例詳解

    Docker給容器添加新端口映射的兩種方法及常用命令舉例詳解

    Docker是一個(gè)開源的應(yīng)用容器引擎,允許開發(fā)者打包和發(fā)布應(yīng)用到任何流行的Linux機(jī)器上,并實(shí)現(xiàn)虛擬化,這篇文章主要介紹了Docker給容器添加新端口映射的兩種方法及常用命令的相關(guān)資料,需要的朋友可以參考下
    2025-03-03
  • 如何使用docker部署lnmp多站點(diǎn)

    如何使用docker部署lnmp多站點(diǎn)

    本文給大家介紹如何使用docker部署lnmp多站點(diǎn),創(chuàng)建一個(gè) Docker 網(wǎng)絡(luò)以便容器可以在同一網(wǎng)絡(luò)上進(jìn)行通信,本文給大家介紹的非常詳細(xì),需要的朋友參考下吧
    2023-10-10
  • 教你Docker安裝GitLab功能

    教你Docker安裝GitLab功能

    Gitlab是一個(gè)開源分布式版本控制系統(tǒng),由Ruby開發(fā),有管理項(xiàng)目源代碼、版本控制、代碼復(fù)用與查找等功能,這篇文章主要介紹了Docker安裝GitLab,需要的朋友可以參考下
    2022-04-04
  • Docker部署安裝Nginx的詳細(xì)過程

    Docker部署安裝Nginx的詳細(xì)過程

    Nginx 是一款高性能的 web 服務(wù)器、反向代理服務(wù)器以及電子郵件(IMAP/POP3/SMTP)代理服務(wù)器,這篇文章主要介紹了Docker部署安裝Nginx,需要的朋友可以參考下
    2024-04-04
  • Docker跨平臺(tái)和環(huán)境部署的過程詳解

    Docker跨平臺(tái)和環(huán)境部署的過程詳解

    Docker是一個(gè)開放源代碼的容器化平臺(tái),它能夠?qū)崿F(xiàn)應(yīng)用及其依賴的打包,從而實(shí)現(xiàn)跨平臺(tái)和環(huán)境的快速部署,本文介紹了Docker的基本概念、優(yōu)勢和基本使用方法,包括安裝、啟動(dòng)、構(gòu)建鏡像和部署應(yīng)用等步驟
    2024-11-11
  • win10中docker部署和運(yùn)行countly-server的流程

    win10中docker部署和運(yùn)行countly-server的流程

    這篇文章主要記錄一下windows10中使用docker容器安裝和部署countly-server的整個(gè)流程,本文給大家講解的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2019-11-11
  • 如何將Docker的構(gòu)建時(shí)間減少40%(推薦)

    如何將Docker的構(gòu)建時(shí)間減少40%(推薦)

    這篇文章主要介紹了如何將Docker的構(gòu)建時(shí)間減少40%,本文描述了我們在優(yōu)化CI管道后獲得的一些新見解,需要的朋友可以參考下
    2023-11-11

最新評論

安新县| 新龙县| 东乡族自治县| 汪清县| 湄潭县| 台中市| 唐海县| 嘉祥县| 丹阳市| 陆丰市| 青岛市| 简阳市| 紫金县| 吴江市| 吴桥县| 宣威市| 桐城市| 黄龙县| 六安市| 浦东新区| 曲沃县| 蓝田县| 阿坝县| 朝阳县| 岑巩县| 九龙坡区| 阿巴嘎旗| 绿春县| 尚志市| 醴陵市| 阿克陶县| 滨州市| 正宁县| 靖安县| 特克斯县| 无棣县| 嘉黎县| 永年县| 嘉定区| 岑巩县| 吉木乃县|