Add dockerd package
This commit is contained in:
parent
38dfb84c28
commit
f29cd6f3de
30
root-packages/dockerd/build.sh
Normal file
30
root-packages/dockerd/build.sh
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
TERMUX_PKG_HOMEPAGE=https://docs.docker.com/engine/
|
||||||
|
TERMUX_PKG_DESCRIPTION="Server daemon process for building and containerizing applications."
|
||||||
|
TERMUX_PKG_LICENSE="Apache-2.0"
|
||||||
|
TERMUX_PKG_MAINTAINER="@termux"
|
||||||
|
TERMUX_PKG_VERSION=20.10.2
|
||||||
|
TERMUX_PKG_SRCURL=https://github.com/moby/moby/archive/v${TERMUX_PKG_VERSION}.tar.gz
|
||||||
|
TERMUX_PKG_SHA256=dc4818f0cba2ded2f6f7420a1fda027ddbf6c6c9fe319f84d1311bfe610447ca
|
||||||
|
#TERMUX_PKG_DEPENDS="containerd"
|
||||||
|
#TERMUX_PKG_BLACKLISTED_ARCHES="arm, i686, x86_64"
|
||||||
|
|
||||||
|
termux_step_make() {
|
||||||
|
# setup go build environment
|
||||||
|
termux_setup_golang
|
||||||
|
|
||||||
|
# apply some patches in a batch
|
||||||
|
xargs sed -i "s_\(/etc/docker\)_$PREFIX\1_g" < <(grep -R /etc/docker | cut -d':' -f1 | sort | uniq)
|
||||||
|
xargs sed -i 's/[a-zA-Z0-9]*\.GOOS/"linux"/g' < <(grep -R '[a-zA-Z0-9]*\.GOOS' | cut -d':' -f1 | sort | uniq)
|
||||||
|
|
||||||
|
|
||||||
|
# issue the build command
|
||||||
|
export DOCKER_GITCOMMIT=8891c58a43
|
||||||
|
export DOCKER_BUILDTAGS='exclude_graphdriver_btrfs exclude_graphdriver_devicemapper exclude_graphdriver_quota selinux exclude_graphdriver_aufs'
|
||||||
|
while ! files=$(AUTO_GOPATH=1 PREFIX='' hack/make.sh dynbinary 2>&1 1>/dev/null); do xargs sed -i 's/\("runtime"\)/_ \1/' < <(echo $files | grep runtime | cut -d':' -f1 | cut -c38-); done
|
||||||
|
}
|
||||||
|
|
||||||
|
termux_step_make_install() {
|
||||||
|
install -Dm 0700 bundles/dynbinary-daemon/dockerd-dev ${TERMUX_PREFIX}/bin/dockerd-dev
|
||||||
|
install -Dm 0700 ${TERMUX_PKG_BUILDER_DIR}/dockerd ${TERMUX_PREFIX}/bin/dockerd
|
||||||
|
install -Dm 0700 ${TERMUX_PKG_BUILDER_DIR}/daemon.json ${TERMUX_PREFIX}/etc/docker/daemon.json
|
||||||
|
}
|
9
root-packages/dockerd/daemon.json
Normal file
9
root-packages/dockerd/daemon.json
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"data-root": "/data/docker/lib/docker",
|
||||||
|
"exec-root": "/data/docker/run/docker",
|
||||||
|
"pidfile": "/data/docker/run/docker.pid",
|
||||||
|
"hosts": [
|
||||||
|
"unix:///data/docker/run/docker.sock"
|
||||||
|
],
|
||||||
|
"storage-driver": "overlay2"
|
||||||
|
}
|
30
root-packages/dockerd/dockerd
Executable file
30
root-packages/dockerd/dockerd
Executable file
@ -0,0 +1,30 @@
|
|||||||
|
#!/data/data/com.termux/files/usr/bin/bash
|
||||||
|
|
||||||
|
export PATH="${PATH}:/system/xbin:/system/bin"
|
||||||
|
opts='rw,nosuid,nodev,noexec,relatime'
|
||||||
|
cgroups='blkio cpu cpuacct cpuset devices freezer memory pids schedtune'
|
||||||
|
|
||||||
|
# try to mount cgroup root dir and exit in case of failure
|
||||||
|
if ! mountpoint -q /sys/fs/cgroup 2>/dev/null; then
|
||||||
|
mkdir -p /sys/fs/cgroup
|
||||||
|
mount -t tmpfs -o "${opts}" cgroup_root /sys/fs/cgroup || exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
# try to mount cgroup2
|
||||||
|
if ! mountpoint -q /sys/fs/cgroup/cg2_bpf 2>/dev/null; then
|
||||||
|
mkdir -p /sys/fs/cgroup/cg2_bpf
|
||||||
|
mount -t cgroup2 -o "${opts}" cgroup2_root /sys/fs/cgroup/cg2_bpf
|
||||||
|
fi
|
||||||
|
|
||||||
|
# try to mount differents cgroups
|
||||||
|
for cg in ${cgroups}; do
|
||||||
|
if ! mountpoint -q "/sys/fs/cgroup/${cg}" 2>/dev/null; then
|
||||||
|
mkdir -p "/sys/fs/cgroup/${cg}"
|
||||||
|
mount -t cgroup -o "${opts},${cg}" "${cg}" "/sys/fs/cgroup/${cg}" \
|
||||||
|
|| rmdir "/sys/fs/cgroup/${cg}"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
# start the docker daemon
|
||||||
|
dockerd-dev $@
|
||||||
|
|
Loading…
Reference in New Issue
Block a user