docker,docker-compose 离线部署脚本

  1. 下载docker资源包 https://download.docker.com/linux/static/stable/x86_64/
  2. 下载docker-compose资源包 https://github.com/docker/compose/releases

![在这里插入图片描述](https://img-blog.csdnimg.cn/9f706ecd745849e386388fec20a709e6.png

  1. 准备docker.service
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
  1. 上传资源到服务器指定目录

在这里插入图片描述
5. deploy.sh

#!/bin/bash

# 删除docker包
echo "移除镜像,容器, 停止docker服务"
docker rm -f $(docker ps -aq) 2>/dev/null
docker rmi -f $(docker images -aq) 2>/dev/null
systemctl stop docker.service
rm -rf /etc/docker
rm -rf /run/docker
rm -rf /var/lib/dockershim
rm -rf /var/lib/docker
rm -rf /root/docker-resource/docker


# 解压docker包
echo "解压docker包"
tar -xvf /root/docker-resource/docker-20.10.17.tgz -C /root/docker-resource

echo -----------------------------------------

# 删除bin目录下文件以及docker.service
for i in {1..9}
do
rm -f /usr/bin/$(ls /root/docker-resource/docker | awk 'NR=='$i'')
done

rm -f /etc/systemd/system/docker.service

echo "docker.service,bin目录下文件删除完成"

echo -----------------------------------------


echo "复制docker目录下内容到bin目录下..."
cp /root/docker-resource/docker/* /usr/bin/

echo '将docker.service 移到/etc/systemd/system目录...'
cp /root/docker-resource/docker.service /etc/systemd/system

echo '添加文件权限...'
chmod +x /etc/systemd/system/docker.service

echo '重新加载配置文件...'
systemctl daemon-reload

echo '启动docker...'
systemctl start docker

echo 'docker服务信息...'
systemctl list-units --type=service | grep docker.service

echo '设置开机自启...'
systemctl enable docker.service

echo 'docker安装成功...'
docker -v

echo -----------------------------------------

# docker-compose
# 删除docker compose
rm -f /usr/local/bin/docker-compose
echo "移除docker compose完成"

# 安装docker compose
echo "docker compose 开始部署"
# 复制资源到到/usr/local/bin目录下
cp /root/docker-resource/docker-compose-linux-x86_64 /usr/local/bin/

mv /usr/local/bin/docker-compose-linux-x86_64 /usr/local/bin/docker-compose

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

# 验证是否安装成功
echo "安装docker compose完成"
docker-compose -v
echo -----------------------------------------
  1. 部署
cd /root/docker-resource
chmod +x deploy.sh
./deploy.sh
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
digitalWrite(LED_SOUTH_YELLOW, HIGH); delay(500); digitalWrite(LED_SOUTH_YELLOW, LOW); delay(500); 以下是离线安装 DockerDocker Compose脚本: 1. 离线安装 Docker ```bash # 下载 } // 熄灭黄灯,点亮红灯 digitalWrite(LED_SOUTH_YELLOW, LOW); digitalWrite(LED_SOUTH Docker 安装包 wget https://download.docker.com/linux/static/stable/x86_64/docker-19.03.13.tgz _RED, HIGH); // 倒计时重置为10秒 countdownTime = 10; // 切换到东西# 解压安装包 tar -xvf docker-19.03.13.tgz # 将 Docker 可执行文件移动方向通行 isSouthNorth = false; isEastWest = true; } } // 倒计时每秒减1 delay(1000); countdownTime--; // 如果按下了按键,修改倒计时时间、到 /usr/bin 目录下 sudo mv docker/* /usr/bin/ # 添加 Docker 用户组 sudo groupadd docker # 将人行道控制或紧急状态控制 if (digitalRead(BUTTON_EAST_WEST) == LOW) { 当前用户添加到 Docker 用户组 sudo usermod -aG docker $USER # 重启 Docker 服务 sudo systemctl restart // 修改倒计时时间 countdownTime = 20; } if (digitalRead(BUTTON_PEDESTRIAN) == docker ``` 2. 离线安装 Docker Compose ```bash # 下载 Docker Compose 安装包 wget https LOW) { // 控制人行道通行 isPedestrian = true; } if (digitalRead(B://github.com/docker/compose/releases/download/1.27.4/docker-compose-Linux-x86_64 # 将 Docker Compose 移UTTON_SOUTH_NORTH) == LOW) { // 控制紧急状态 digitalWrite(LED_EAST_RED, HIGH); digitalWrite动到 /usr/local/bin 目录下并改名为 docker-compose sudo mv docker-compose-Linux-x86_64 /usr/local(LED_SOUTH_RED, HIGH); delay(1000); digitalWrite(LED_EAST_RED, LOW); digitalWrite(LED_SOUTH_RED,/bin/docker-compose # 添加可执行权限 sudo chmod +x /usr/local/bin/docker-compose ``` 注意:以上脚本中 LOW); } } void displayCountdown(int seconds) { LedControl lc = LedControl(MATRIX_DIN, MATRIX_CLK, MATRIX的 DockerDocker Compose 版本号可能需要根据实际情况进行修改。另外,如果你的服务器没有网络_CS, 1); if (seconds >= 10) { lc.setDigit(0, 0, seconds / 10,连接,需要手动下载 DockerDocker Compose 安装包,并将它们移动到服务器上进行安装。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值