#!/bin/bash -e #--------------------------------------------------------------------- set -e # mount -t cgroup2 none /sys/fs/cgroup SBINDIR=$PRODTREE/docker/sbin #--------------------------------------------------------------------- pushd $SBINDIR ln -nsf $PRODTREE/containerd/bin/containerd-shim-runc-v2 . ls docker-linux-amd64 dockerd docker-buildx rm -fr docker cp -p /src/0*/*_docker/special/docker.pl docker chmod 755 docker popd #--------------------------------------------------------------------- PATH=$SBINDIR:$PATH hash docker && hash dockerd ( killany -qw dockerd >& /dev/null ) || true docker >& /dev/null || true # This creates required files dockerd >& /tmp/dockerd.log & #--------------------------------------------------------------------- BLDDIR=$HOME/build-docker BAKDIR=$BLDDIR/tmpbak PRODIR=$BLDDIR/prod GITDIR=$BLDDIR/gittemp #--------------------------------------------------------------------- rm -fr $BLDDIR mkdir $BLDDIR $BAKDIR $PRODIR #--------------------------------------------------------------------- cd $BLDDIR rm -fr $GITDIR git clone --recurse-submodules --depth 1 \ https://github.com/docker/docker.git \ $GITDIR cd $GITDIR make mv bundles/binary/docker* $PRODIR/ cd $BLDDIR rm -fr $GITDIR #--------------------------------------------------------------------- cd $BLDDIR rm -fr $GITDIR git clone --recurse-submodules --depth 1 \ https://github.com/docker/buildx.git \ $GITDIR cd $GITDIR make mv bin/build/buildx $PRODIR/docker-buildx cd $BLDDIR rm -fr $GITDIR #--------------------------------------------------------------------- cd $BLDDIR rm -fr $GITDIR git clone --recurse-submodules --depth 1 \ https://github.com/docker/cli.git \ $GITDIR cd $GITDIR docker buildx bake mv build/docker-linux-amd64 $PRODIR/ cd $BLDDIR rm -fr $GITDIR #--------------------------------------------------------------------- cd / strip $PRODIR/* || true ls -l $PRODIR/ #--------------------------------------------------------------------- cd $BAKDIR mv $SBINDIR/* . TARBALL=docker-sbin.tgz tar zcf $TARBALL * tardate $TARBALL rm -fr /root/$TARBALL mv $TARBALL /root/ #--------------------------------------------------------------------- cd $PRODIR upx --lzma docker-buildx upx --lzma dockerd rm -fr $SBINDIR mkdir $SBINDIR mv * $SBINDIR/ #--------------------------------------------------------------------- pushd $SBINDIR ln -nsf $PRODTREE/containerd/bin/containerd-shim-runc-v2 . ls docker-linux-amd64 dockerd docker-buildx rm -fr docker cp -p /src/0*/*_docker/special/docker.pl docker chmod 755 docker popd #--------------------------------------------------------------------- PATH=$SBINDIR:$PATH hash docker && hash dockerd ( killany -qw dockerd >& /dev/null ) || true docker >& /dev/null || true # This creates required files dockerd >& /tmp/dockerd.log & #--------------------------------------------------------------------- cd / ln -nsf $SBINDIR/* /usr/bin/ rm -fr $BLDDIR echo Done