docker.sh 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. #!/bin/bash
  2. dockerVer="${1:-20.10.24}"
  3. rm -rf /usr/bin/docker-init
  4. rm -rf /usr/bin/containerd
  5. rm -rf /usr/bin/ctr
  6. rm -rf /usr/bin/runc
  7. rm -rf /usr/bin/dockerd
  8. rm -rf /usr/bin/docker-proxy
  9. rm -rf /usr/bin/containerd-shim
  10. rm -rf /usr/bin/docker
  11. rm -rf /usr/bin/containerd-shim-runc-v2
  12. rm -rf /etc/systemd/system/docker.service
  13. rm -rf /var/lib/docker
  14. rm -rf /etc/docker
  15. ps -C dockerd -o pid= |xargs kill -9 >/dev/null 2>&1
  16. [ "$dockerVer" == "0" ] && exit 0
  17. case `uname -m` in aarch64|arm64) arch="aarch64";; x86_64|amd64) arch="x86_64";; *) arch="";; esac
  18. [ -n "$arch" ] || exit 1
  19. wget --no-check-certificate -4 -qO- "https://download.docker.com/linux/static/stable/${arch}/docker-${dockerVer}.tgz" |tar -xzv --strip-components=1 -C /usr/bin
  20. [ $? -eq 0 ] || exit 1
  21. cat >/etc/systemd/system/docker.service<<EOF
  22. [Unit]
  23. Description=docker
  24. After=local-fs.target network.target
  25. [Service]
  26. Type=simple
  27. ExecStart=/usr/bin/dockerd
  28. KillMode=process
  29. KillSignal=SIGINT
  30. TimeoutStopSec=3
  31. Restart=always
  32. RestartSec=1s
  33. [Install]
  34. WantedBy=multi-user.target
  35. EOF
  36. systemctl disable docker 2>/dev/null
  37. systemctl daemon-reload
  38. systemctl enable docker
  39. systemctl restart docker