forked from lxcafe/lxcafe
bc1e17ec04
* documentation added * scripts to setup image and start container added
42 lines
1.2 KiB
Docker
42 lines
1.2 KiB
Docker
FROM ubuntu:22.04
|
|
|
|
# Minimal image for safe simulation of apt installs.
|
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
bash wget tar curl gnupg ca-certificates apt-utils apt coreutils file procps && \
|
|
apt-get clean && rm -rf /var/lib/apt/lists/*
|
|
|
|
# sudo wrapper: simulate apt installs and avoid making changes to the image
|
|
RUN cat > /usr/local/bin/sudo <<'EOF'
|
|
#!/bin/sh
|
|
# sudo wrapper for simulation:
|
|
# - simulate installs with `apt-get -s install ...`
|
|
# - run `apt-get update` quietly (needed so apt -s has metadata)
|
|
# - otherwise echo the command (no-op)
|
|
cmd="$1"
|
|
arg2="${2:-}"
|
|
if [ "$cmd" = "apt" ] || [ "$cmd" = "apt-get" ]; then
|
|
if [ "$arg2" = "install" ]; then
|
|
shift 2
|
|
echo "[sudo-wrapper] simulating: apt-get -s install $@"
|
|
apt-get -s install "$@"
|
|
exit $?
|
|
elif [ "$arg2" = "update" ]; then
|
|
# do not run update at runtime (may require extra privileges); simulate instead
|
|
echo "[sudo-wrapper] simulating: apt-get update (no-op in container)"
|
|
exit 0
|
|
else
|
|
echo "[sudo-wrapper] would run: $@"
|
|
exit 0
|
|
fi
|
|
else
|
|
echo "[sudo-wrapper] would run: $@"
|
|
exit 0
|
|
fi
|
|
EOF
|
|
RUN chmod +x /usr/local/bin/sudo
|
|
|
|
ENV PATH=/usr/local/bin:$PATH
|
|
|
|
WORKDIR /workspace
|
|
ENTRYPOINT ["/bin/bash"]
|