一、docker离线安装
1、下载docker离线安装包
下载最新版本的 docker (或者选择自己想要安装的版本)到本地。
1)docker下载地址:Docker版本下载 || Docker-compose版本下载
备注:此地址自2024年7月无法访问下载docker版本,小编已经将可以使用的docker、docker-compose版本整理在百度网盘中如有需要可以自行获取。
2)docker、docker-compose版本获取:百度网盘获取方式
备注:近期接到各位博友反馈,百度网盘链接中的 docker & docker-compose 离线安装包链接失效,小编补充不定期做 docker & docker-compose 离线安装包资源的更新(版本更新)。详见文档:Docker & Docker-Compose资源获取下载-CSDN博客
可以选择对应平台的版本进行下载,此文档以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 $MAINPIDTimeoutSec=0
RestartSec=2
ExecStartPost=/usr/sbin/iptables -P FORWARD ACCEPT
Restart=alwaysTimeoutStartSec=0
LimitNOFILE=infinity
LimitNPROC=infinityLimitCORE=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一键安装脚本
-
-
#定义字体颜色
-
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包。