Merge pull request #226 from linuxserver/universal-docker-in-docker-apt

Standardize apt-get, update formatting
This commit is contained in:
Roxedus 2021-06-29 18:15:31 +02:00 committed by GitHub
commit ad317183f6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 59 additions and 55 deletions

View File

@ -13,26 +13,26 @@ FROM ghcr.io/linuxserver/docker-compose:arm64v8-${COMPOSE_ALPINE_TAG} as compose
FROM ghcr.io/linuxserver/baseimage-alpine:3.13 as buildstage
RUN \
echo "**** install packages ****" && \
apk add --no-cache \
curl && \
echo "**** retrieve latest version ****" && \
if [ -z ${DOCKER_RELEASE+x} ]; then \
DOCKER_RELEASE=$(curl -sX GET "https://api.github.com/repos/moby/moby/releases/latest" \
| awk '/tag_name/{print $4;exit}' FS='[""]' \
| sed 's|^v||'); \
fi && \
echo "**** grab docker ****" && \
mkdir -p /root-layer/docker-tgz && \
curl -fo \
/root-layer/docker-tgz/docker_x86_64.tgz -L \
"https://download.docker.com/linux/static/stable/x86_64/docker-${DOCKER_RELEASE}.tgz" && \
curl -fo \
/root-layer/docker-tgz/docker_armv7l.tgz -L \
"https://download.docker.com/linux/static/stable/armhf/docker-${DOCKER_RELEASE}.tgz" && \
curl -fo \
/root-layer/docker-tgz/docker_aarch64.tgz -L \
"https://download.docker.com/linux/static/stable/aarch64/docker-${DOCKER_RELEASE}.tgz"
echo "**** install packages ****" && \
apk add --no-cache \
curl && \
echo "**** retrieve latest version ****" && \
if [ -z ${DOCKER_RELEASE+x} ]; then \
DOCKER_RELEASE=$(curl -sX GET "https://api.github.com/repos/moby/moby/releases/latest" \
| awk '/tag_name/{print $4;exit}' FS='[""]' \
| sed 's|^v||'); \
fi && \
echo "**** grab docker ****" && \
mkdir -p /root-layer/docker-tgz && \
curl -fo \
/root-layer/docker-tgz/docker_x86_64.tgz -L \
"https://download.docker.com/linux/static/stable/x86_64/docker-${DOCKER_RELEASE}.tgz" && \
curl -fo \
/root-layer/docker-tgz/docker_armv7l.tgz -L \
"https://download.docker.com/linux/static/stable/armhf/docker-${DOCKER_RELEASE}.tgz" && \
curl -fo \
/root-layer/docker-tgz/docker_aarch64.tgz -L \
"https://download.docker.com/linux/static/stable/aarch64/docker-${DOCKER_RELEASE}.tgz"
# copy local files
COPY --from=compose-amd64 /usr/local/bin/docker-compose /root-layer/docker-compose-ubuntu/docker-compose_x86_64

View File

@ -0,0 +1,5 @@
#!/usr/bin/with-contenv bash
if [ -f /usr/bin/apt ]; then
apt-get update
fi

View File

@ -6,45 +6,44 @@ chown -R ${ABC_USER}:${ABC_USER} /config/logs
echo "**** installing docker and docker compose ****"
if [ -f /usr/bin/apt ]; then
DISTRONAME="ubuntu"
apt-get update && \
apt-get install -y \
btrfs-progs \
ca-certificates \
curl \
e2fsprogs \
iptables \
openssh-client \
openssl \
pigz \
xfsprogs \
xz-utils
DISTRONAME="ubuntu"
apt-get install -y \
btrfs-progs \
ca-certificates \
curl \
e2fsprogs \
iptables \
openssh-client \
openssl \
pigz \
xfsprogs \
xz-utils
else
DISTRONAME="alpine"
apk add --no-cache \
btrfs-progs \
curl \
e2fsprogs \
e2fsprogs-extra \
ip6tables \
iptables \
openssl \
pigz \
xfsprogs \
xz
DISTRONAME="alpine"
apk add --no-cache \
btrfs-progs \
curl \
e2fsprogs \
e2fsprogs-extra \
ip6tables \
iptables \
openssl \
pigz \
xfsprogs \
xz
fi
ARCH=$(uname -m)
if [ -f "/docker-compose-${DISTRONAME}/docker-compose_${ARCH}" ] ; then
echo "Copying over docker and docker-compose binaries"
mv "/docker-compose-${DISTRONAME}/docker-compose_${ARCH}" /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
rm -rf /docker-compose-ubuntu /docker-compose-alpine
tar xf /docker-tgz/docker_${ARCH}.tgz \
--strip-components=1 -C \
/usr/local/bin/
rm -rf /docker-tgz
echo "Copying over docker and docker-compose binaries"
mv "/docker-compose-${DISTRONAME}/docker-compose_${ARCH}" /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
rm -rf /docker-compose-ubuntu /docker-compose-alpine
tar xf /docker-tgz/docker_${ARCH}.tgz \
--strip-components=1 -C \
/usr/local/bin/
rm -rf /docker-tgz
else
echo "**** docker and docker-compose already installed, skipping ****"
echo "**** docker and docker-compose already installed, skipping ****"
fi
# delete PID if exists
@ -53,5 +52,5 @@ find /run /var/run -iname 'docker*.pid' -delete || :
# create docker group and add abc to it
groupadd -f docker
if ! id -nG ${ABC_USER} | grep -q "docker"; then
usermod -aG docker ${ABC_USER}
usermod -aG docker ${ABC_USER}
fi