Linux运维_Bash脚本_源码编译Moby(Docker-CE)-20240803
Bash (Bourne Again Shell) 是一个解释器,负责处理 Unix 系统命令行上的命令。它是由 Brian Fox 编写的免费软件,并于 1989 年发布的免费软件,作为 Sh (Bourne Shell) 的替代品。
您可以在 Linux 和 MacOS 机器上使用 Bash,甚至可以通过适用于 Linux 的 Windows 子系统在 Windows 10 机器上使用。
使用方法
- 下载 docker 镜像及源码包:
offline.for.cli.26/amd64/alpine/3.20:golang-1.21.12
(以上 offline.for.cli.26/amd64/alpine/3.20:golang-1.21.12 docker 镜像链接: https://download.csdn.net/download/goufeng93/90611287)
offline.for.cli.26/arm64/alpine/3.20:golang-1.21.12
(以上 offline.for.cli.26/arm64/alpine/3.20:golang-1.21.12 docker 镜像链接: https://download.csdn.net/download/goufeng93/90611290)
offline.for.moby.26/amd64/debian/bookworm:golang-1.21.12
(以上 offline.for.moby.26/amd64/debian/bookworm:golang-1.21.12 docker 镜像链接: https://download.csdn.net/download/goufeng93/90612327)
offline.for.moby.26/arm64/debian/bookworm:golang-1.21.12
(以上 offline.for.moby.26/amd64/debian/bookworm:golang-1.21.12 docker 镜像链接: https://download.csdn.net/download/goufeng93/90613419)
buildx-0.16.2.tar.gz
runc-master-20240804.tar.gz
cli-master-20240805.tar.gz
(以上 cli-master-20240805.tar.gz 源码包链接: https://download.csdn.net/download/goufeng93/89711126)
moby-matser-20240803.tar.gz
(以上 moby-matser-20240803.tar.gz 源码包链接: https://download.csdn.net/download/goufeng93/89714646)
- 放于指定路径:
这里 Bash Shell 脚本的全局变量 STORAGE 指定的存放源码包的路径 /home/goufeng 可进行修改。
- 执行 Bash Shell 脚本:
输入 /[路径名]/[脚本名].sh 即可进行自动编译部署,过程中提示输入 (y/n) 输入 y 则进行下一步,这样分阶段确认的原因是为了确保能够看到上一个源码编译结果中可能的错误和提示。
完整脚本
#! /bin/bash
# Create By GF 2024-08-03 01:34
# --------------------------------------------------
# Install First:
# * Go >= 1.21.x
# * Git
# * Docker-CE >= 20.10 (Binary Deploy)
# -------------- Docker Image for Cli --------------
# Need File: offline.for.cli.26/amd64/alpine/3.20:golang-1.21.12
# Need File: offline.for.cli.26/arm64/alpine/3.20:golang-1.21.12
# -------------- Docker Image for Moby -------------
# Need File: offline.for.moby.26/amd64/debian/bookworm:golang-1.21.12
# Need File: offline.for.moby.26/arm64/debian/bookworm:golang-1.21.12
# ------------------- Dependency -------------------
# Need File: buildx-0.16.2.tar.gz
# Need File: runc-master-20240804.tar.gz
# ------------ Docker-CE-Cli - 20240805 ------------
# Need File: cli-master-20240805.tar.gz
# ----------- Moby(Docker-CE) - 20240803 -----------
# Need File: moby-matser-20240803.tar.gz
# ##################################################
STORAGE=/home/goufeng
# ############# Compilation Environment ############
ORIGINAL_PATH=$PATH
# ######################## offline.for.cli.26/amd64/alpine/3.20:golang-1.21.12 #######################
Installed APK:
+ bash + build-base + clang + curl
+ file + gcc + git + lld
+ llvm + musl-dev + openssh-client + openssl
/go/bin/
+ gotestsum
+ goversioninfo
/go/pkg/mod/
+ github.com/josephspurrier/[email protected]
+ github.com/akavel/[email protected]
+ github.com/fsnotify/[email protected]
+ github.com/mattn/[email protected]
+ github.com/mattn/[email protected]
+ github.com/google/[email protected]
+ github.com/fatih/[email protected]
+ github.com/dnephin/[email protected]
+ gotest.tools/[email protected]
+ golang.org/x/[email protected]
+ golang.org/x/[email protected]
+ golang.org/x/[email protected]
+ golang.org/x/[email protected]
+ golang.org/x/[email protected]
/usr/local/bin/
+ notary (Only Platform AMD64 Exists)
# ##################### offline.for.moby.26/amd64/debian/bookworm:golang-1.21.12 #####################
Installed DEB:
+ apparmor + autoconf + automake + bash-completion
+ build-essential + bzip2 + ca-certificates + clang
+ cmake + criu + curl + dbus
+ dbus-user-session + dpkg-dev + file + g++
+ gcc + inetutils-ping + iproute2 + iptables
+ jq + libapparmor-dev + libbtrfs-dev + libc6-dev
+ libcap2-bin + libcap-dev + libgcc-12-dev + libnet1
+ libnl-3-200 + libprotobuf-c1 + libprotobuf-c-dev + libseccomp-dev
+ libsecret-1-dev + libsystemd-dev + libtool + libudev-dev
+ libyajl2 + libyajl-dev + lld + llvm
+ net-tools + openssh-client + openssl + patch
+ pigz + pkgconf + pkg-config + python3
+ sudo + systemd + systemd-journal-remote + systemd-sysv
+ thin-provisioning-tools + uidmap + vim + vim-common
+ xfsprogs + xz-utils + yamllint + zip
+ zstd
/go/bin/
+ golangci-lint
+ gopls
/go/pkg/mod/
+ gitlab.com/bosi/[email protected]
+ google.golang.org/[email protected]
+ go.uber.org/[email protected]
+ go.uber.org/[email protected]
+ go.uber.org/[email protected]
+ honnef.co/go/[email protected]
+ honnef.co/go/[email protected]
+ 4d63.com/[email protected]
+ 4d63.com/[email protected]
+ github.com/go-xmlfmt/[email protected]
+ github.com/securego/gosec/[email protected]
+ github.com/gordonklaus/[email protected]
+ github.com/sivchari/[email protected]
+ github.com/sivchari/[email protected]
+ github.com/sivchari/[email protected]
+ github.com/stbenjam/[email protected]
+ github.com/nakabonne/[email protected]
+ github.com/butuzov/[email protected]
+ github.com/butuzov/[email protected]
+ github.com/cespare/xxhash/[email protected]
+ github.com/gofrs/[email protected]
+ github.com/hashicorp/[email protected]
+ githu