Use fedora:latest as base image #1
@ -1,5 +1,18 @@
|
||||
FROM registry.fedoraproject.org/fedora-toolbox:39
|
||||
FROM fedora:latest as base
|
||||
LABEL com.github.containers.toolbox="true"
|
||||
|
||||
# Install base packages
|
||||
COPY base-packages.txt /
|
||||
RUN dnf -y upgrade \
|
||||
&& dnf install -y $(<base-packages.txt) \
|
||||
&& dnf clean -y all
|
||||
RUN rm /base-packages.txt
|
||||
|
||||
# Squash image to reduce final size
|
||||
FROM scratch as squashed
|
||||
COPY --from=base / /
|
||||
|
||||
FROM squashed
|
||||
# Install vscode repo
|
||||
RUN rpm --import https://packages.microsoft.com/keys/microsoft.asc
|
||||
RUN echo -e "\
|
||||
@ -12,14 +25,12 @@ gpgkey=https://packages.microsoft.com/keys/microsoft.asc\n\
|
||||
" > /etc/yum.repos.d/vscode.repo
|
||||
|
||||
# Install packages
|
||||
RUN dnf update -y \
|
||||
&& dnf install -y \
|
||||
RUN dnf install -y \
|
||||
code \
|
||||
golang \
|
||||
neovim \
|
||||
pinentry \
|
||||
pipx \
|
||||
pre-commit \
|
||||
python3 \
|
||||
zsh \
|
||||
&& dnf clean -y all
|
||||
@ -28,6 +39,7 @@ RUN dnf update -y \
|
||||
RUN PIPX_HOME=/usr/local/lib/pipx PIPX_BIN_DIR=/usr/local/bin pipx install \
|
||||
ipython \
|
||||
pip-audit \
|
||||
pre-commit \
|
||||
poetry \
|
||||
&& rm -rf /root/.cache
|
||||
|
||||
@ -36,6 +48,7 @@ ENV GOBIN=/usr/local/bin
|
||||
RUN go install github.com/cweill/gotests/gotests@latest \
|
||||
&& go install github.com/fatih/gomodifytags@latest \
|
||||
&& go install github.com/go-delve/delve/cmd/dlv@latest \
|
||||
&& go install github.com/go-task/task/v3/cmd/task@latest \
|
||||
&& go install github.com/haya14busa/goplay/cmd/goplay@latest \
|
||||
&& go install github.com/josharian/impl@latest \
|
||||
&& go install golang.org/x/tools/gopls@latest \
|
||||
|
46
base-packages.txt
Normal file
46
base-packages.txt
Normal file
@ -0,0 +1,46 @@
|
||||
bc
|
||||
bzip2
|
||||
cracklib-dicts
|
||||
diffutils
|
||||
dnf-plugins-core
|
||||
findutils
|
||||
flatpak-spawn
|
||||
fpaste
|
||||
git
|
||||
gnupg2
|
||||
gnupg2-smime
|
||||
gvfs-client
|
||||
hostname
|
||||
iproute
|
||||
iputils
|
||||
keyutils
|
||||
krb5-libs
|
||||
less
|
||||
lsof
|
||||
mesa-dri-drivers
|
||||
mesa-vulkan-drivers
|
||||
mtr
|
||||
nss-mdns
|
||||
openssh-clients
|
||||
passwd
|
||||
pigz
|
||||
procps-ng
|
||||
psmisc
|
||||
rsync
|
||||
shadow-utils
|
||||
sudo
|
||||
tcpdump
|
||||
time
|
||||
traceroute
|
||||
tree
|
||||
unzip
|
||||
util-linux
|
||||
vte-profile
|
||||
vulkan-loader
|
||||
wget
|
||||
which
|
||||
whois
|
||||
words
|
||||
xorg-x11-xauth
|
||||
xz
|
||||
zip
|
Loading…
Reference in New Issue
Block a user