首页 > 系统相关 >Linux环境离线安装docker&docker-compose(包含一键安装脚本和一键安装包)

Linux环境离线安装docker&docker-compose(包含一键安装脚本和一键安装包)

时间:2024-07-19 16:25:33浏览次数:17  
标签:bin ... compose sudo 一键 echo docker 安装

一、docker离线安装

1、下载docker离线安装包

下载最新版本的 docker (或者选择自己想要安装的版本)到本地。

1)docker下载地址:Docker版本获取

备注:此地址自2024年7月无法访问下载docker版本,小编已经将可以使用的docker、docker-compose版本整理在百度网盘中如有需要可以自行获取。

2)docker、docker-compose版本获取:百度网盘获取方式

可以选择对应平台的版本进行下载,此文档以x86_64平台的v26.1.4版本为准,获取版本离线包如下所示:

百度网盘获取docker、docker-compose版本详细信息如下所示:

2、安装docker

# 将下载后的docker安装包传至需要安装docker服务的服务器上,解压下载的docker安装包;

sudo tar -xvf docker-26.1.4-x86_64.tgz

# 给docker执行文件赋予可执行权限

sudo chmod 755 -R docker

# 复制docker到/usr/bin/目录下,使docker命令可以执行

sudo cp docker/* /usr/bin/

# 清理解压后的文件(此步骤可以选择不做)

sudo rm -rf docker docker-26.1.4-x86_64.tgz

3、配置docker服务

# 创建docker服务配置文件docker.service

sudo 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
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID

TimeoutSec=0

RestartSec=2

ExecStartPost=/usr/sbin/iptables -P FORWARD ACCEPT
Restart=always

TimeoutStartSec=0


LimitNOFILE=infinity
LimitNPROC=infinity

LimitCORE=infinity

Delegate=yes
KillMode=process
StartLimitBurst=3
StartLimitInterval=60s

[Install]
WantedBy=multi-user.target

# 赋予docker服务配置文件docker.service执行权限

sudo chmod +x /etc/systemd/system/docker.service

4、启动docker服务

# 加载systemctl配置

sudo systemctl daemon-reload

# 启用docker服务开机自启动

sudo systemctl enable docker.service 

# 启动docker服务

sudo systemctl start docker 

# 检查docker服务状态

sudo systemctl status docker

# 查看安装的docker版本

sudo docker -v

docker服务离线安装并启动服务成功。

5、docker服务自定义配置

1)docker默认运行目录为/var/lib/docker/,可以根据自身服务器存储大小自定义设置运行目录;

2)可以自定义设置获取docker镜像的私有仓库;

3)可以自定义设置拉取镜像时使用的镜像站点,在中国大陆,由于网络延迟或带宽限制,直接从Docker Hub或其他国际仓库拉取镜像可能会非常慢,因此通常会配置国内的镜像镜像站点,如阿里云镜像站点,来加速镜像的拉取过程。【https://geuj9lut.mirror.aliyuncs.com】就是阿里云提供的一个Docker镜像镜像站点。

# 配置docker服务自定义设置

sudo mkdir -p /etc/docker
sudo mkdir -p /data/app/dockerWork
sudo vim /etc/docker/daemon.json

# 在文件中添加一下内容:

{
  "data-root": "/data/app/dockerWork",
  "insecure-registries": ["ss.suwell.com"],
  "registry-mirrors": ["https://geuj9lut.mirror.aliyuncs.com"]
}

备注:可能会存在直接复制粘贴后的json文件不可用的情况,小编已经将编写好的配置文件放在获取资源的百度网盘中。

更改配置文件完成后,重新执行步骤4(重启docker服务)。

# 查看更改自定义后的docker服务信息

sudo docker info

二、docker-compose离线安装

1、下载docker-compose离线安装包

下载最新版本的 docker -compose(或者选择自己想要安装的版本)到本地,docker-compose安装包获取可见此文章节一中的百度网盘获取方式

此文档以x86_64平台的v2.28.1版本为准。

2、安装docker-compose

# 将下载后的docker-compose安装包传至需要安装docker-compose服务的服务器上。

# 复制docker-compose到/usr/local/bin/目录下 

sudo cp -f docker-compose-linux-x86_64.v2.28.1 /usr/local/bin/docker-compose

# 赋予docker-compose可执行权限

sudo chmod +x /usr/local/bin/docker-compose

# 查看docker-compose版本

sudo docker-compose -v

三、一键安装、卸载

创建docker和docker-compose一键安装脚本并封装一键部署安装包。

1、一键安装脚本

# 创建docker和docker-compose一键安装脚本

#!/bin/bash
#定义字体颜色
RE='\033[1;31m' # Red color code
GR='\033[1;32m' # Green color code
BL='\033[1;34m' # Blue color code
PU='\033[1;35m' # Purple(紫) color code
SK='\033[1;36m' # SkyBlue(天蓝) color code
NC='\033[0m'    # Reset color to normal

echo '解压tar包并给与docker权限...'
tar -xvf ./package/docker* -C ./package && chmod 777 ./package/docker/*
echo '将docker移到/usr/bin目录下...'
cp -r ./package/docker/* /usr/bin/
echo '将docker.service移到/etc/systemd/system/目录并给与权限...' 
cp -r ./conf/docker.service /etc/systemd/system/ && chmod 777 /etc/systemd/system/docker.service
echo '######################'
echo '创建docker工作目录并创建daemon.json配置文件...'
mkdir -p /etc/docker && mkdir -p /data/app/dockerWork
tee /etc/docker/daemon.json <<-'EOF'
{
        "data-root":"/data/app/dockerWork",
        "insecure-registries": ["ss.suwell.com"],
        "registry-mirrors": ["https://geuj9lut.mirror.aliyuncs.com"]
}
EOF
echo '重新加载配置文件并重启docker...'
systemctl daemon-reload && systemctl restart docker
echo '设置docker开机自启动...'
systemctl enable docker.service
echo '######## docker版本信息 ########'
docker info
echo '将docker-compose移到/usr/bin/目录...'
cp ./conf/docker-compose* /usr/local/bin/docker-compose && chmod 777 /usr/local/bin/docker-compose

echo -e "${PU}######## 验证docker安装结果... ########${NC}"
if ! docker version; then
echo -e "${RE}docker 安装失败...${NC}"
exit -1
fi
echo -e "${GR}docker安装成功!!!${NC}"

echo -e "${PU}######## 验证docker-compose安装结果... ########${NC}"
if ! docker-compose -v; then
echo -e "${RE}docker-compose 安装失败...${NC}"
exit -1
fi
echo -e "${GR}docker-compose 安装成功!!!${NC}"

rm -rf ./package/docker

2、一键卸载脚本

# 创建docker和docker-compose一键卸载脚本

#/bin/bash

echo "停止所有容器服务"
docker stop $(docker ps -a -q)
echo "删除所有容器"
docker rm $(docker ps -a -q)
echo "删除docker所有镜像"
docker rmi -f $(docker images -q)
echo '停止docker服务...'
systemctl stop docker
echo '取消开机自启...'
systemctl disable docker
echo '删除docker相关包...'
cd /usr/bin/ && rm -rf containerd* ctr docker* dockerd runc
echo '取消docker.service注册文件...'
cd /etc/systemd/system/ && rm -rf docker.service
echo '删除docker配置文件...'
cd /etc/ && rm -rf docker/* && rm -rf /data/app/dockerWork
echo 'yum方式清空docker配置文件...'
yum remove -y docker-ce docker-ce-cli containerd.io
rm -rf /var/lib/docker && rm -rf /var/lib/containerd
echo '重新加载配置文件...'
systemctl daemon-reload
echo 'docker卸载成功!!!'

echo '删除docker-compose...'
rm -rf /usr/local/bin/docker-compose
echo 'docker-compose卸载成功!!!'

3、一键部署包封装

按照如下目录结构组装一键部署包即可,组包架构如下所示:

备注:conf目录下可替换自己想要安装的docker-compose版本,package目录下可替换自己想要安的docker版本,但需要注意每次仅能封装一个版本的docker和docker-compose包。

标签:bin,...,compose,sudo,一键,echo,docker,安装
From: https://blog.csdn.net/weixin_45844208/article/details/140521002

相关文章

  • Day44.MySQL安装及主要文件介绍
    1.MySQL下载网址https://www.mysql.com/2.下载流程:         ......
  • ArchLinux Vmware安装指北
    ArchLinuxVmware安装指北在本文开始之前,首先允许我提前声明一点,ArchLinux的安装并不算难,但是绝对也算不上简单,中间的安装可能会遇到很多问题,本篇文章不能保证完全贴合你的真实机器环境,但是我会在我安装过程中遇到的一点点小问题都说出来,给大家避个坑,这里我安装Arch的时候参考的......
  • Ubuntu 22.04.4 LTS (linux) Tomcat 下载 安装配置详细教程
    1官网下载下载链接2ubuntu服务器安装#下载wgethttps://dlcdn.apache.org/tomcat/tomcat-9/v9.0.91/bin/apache-tomcat-9.0.91.tar.gz#解压tarzxvfapache-tomcat-9.0.91.tar.gzsudomvapache-tomcat-9.0.91//data/tomcat#配置环境变量sudovi/etc/profile......
  • shell脚本一键编译WiFi配置需要的工具
    #!/bin/bashPLATFORM='hi3519dv500'PLATFORM_COMPILE=aarch64-v01c01-linux-musl-COMPILE_CC="$PLATFORM_COMPILE"gccCOMPILE_STRIP="$PLATFORM_COMPILE"stripCOMPILE_AR="$PLATFORM_COMPILE"arCOMPILE_RANLIB="$PLATFO......
  • 海外短剧系统搭建部署,全球短剧一键尽享
    今天我要通过分享亲身经历和大家来谈谈海外短剧市场到底好不好做?从去年九月份开始我就跟着风口进入了国内的短剧市场,短剧市场确实给我带来了丰厚的利益,随着短剧系统用户量的增加和活跃度的提升,逐渐实现了从免费到付费的商业模式转变。通过会员制度、广告分成、内容付费等多种......
  • dockerfile来快速部署一个jsp服务
    1.创建一个jsp服务需要的dockfilevimjsp_dockerfile#UsetheofficialUbuntu 20.04 baseimageFROMubuntu:20.04 #SetenvironmentvariablesENVDEBIAN_FRONTEND=noninteractive #InstallnecessarypackagesRUNapt-getupdate&&\    apt-getinsta......
  • dockerfile来快速部署一个php服务
    1.创建一个php服务需要的dockfilevimphp_dockerfile#UsethelatestUbuntuimageasthebaseimage.FROMubuntu:20.04 #Setenvironmentvariables.ENVDEBIAN_FRONTEND=noninteractive #Updateandinstallnecessarypackages.RUNapt-getupdate&&\  ......
  • 在 Ubantu上安装 FreePBX 16&Asterisk20
    在Ubantu上安装FreePBX16&Asterisk20注:必须以Root用户身份安装更新系统apt-getupdate&&apt-getupgrade-y安装SURY存储库签名密钥echo"debhttps://packages.sury.org/php/$(lsb_release-sc)main"|sudotee/etc/apt/sources.list.d/php7.x.listap......
  • Ubuntu安装openssl-1.1.1
    切换root用户下载源文件:https://www.openssl.org/source/old/1.1.1/index.html./configshared--prefix=/usr/local/openssl--openssldir=/usr/local/opensslmake&&makeinstall备份原来的opensslmv/usr/bin/openssl/usr/bin/openssl.bak创建软链接到系统位置ln-s......
  • 如何一键删除iPhone相册所有照片?教你快速删除
    iPhone的摄影素质是业内第一梯队的水准,用户会用它拍摄大把大把的照片。使用iPhone拍摄了大量照片后,有时可能会想要一次性将它们全部删除。无论是为了释放手机内存,还是为了整理相册、清除不再需要的照片,能够快速、便捷地完成删除操作都是非常重要的。可惜iPhone没有一键全选,如果......