Provide a smaller Pulsar docker image without unnecessary development packages
See original GitHub issueIs your enhancement request related to a problem? Please describe.
The pulsar docker image installs a lot of packages that are unnecessary.
For example, installing the tk-dev
package pulls in many dependencies
The following NEW packages will be installed:
binutils binutils-common binutils-x86-64-linux-gnu build-essential cpp cpp-9 dirmngr dpkg-dev fakeroot fontconfig-config fonts-dejavu-core g++ g++-9 gcc gcc-9 gcc-9-base gnupg
gnupg-l10n gnupg-utils gpg gpg-agent gpg-wks-client gpg-wks-server gpgconf gpgsm libalgorithm-diff-perl libalgorithm-diff-xs-perl libalgorithm-merge-perl libasan5
libasn1-8-heimdal libassuan0 libatomic1 libbinutils libbsd0 libc-dev-bin libc6-dev libcc1-0 libcrypt-dev libctf-nobfd0 libctf0 libdpkg-perl libdrm-amdgpu1 libdrm-common
libdrm-intel1 libdrm-nouveau2 libdrm-radeon1 libdrm2 libedit2 libelf1 libexpat1 libexpat1-dev libfakeroot libfile-fcntllock-perl libfontconfig1 libfontconfig1-dev libfontenc1
libfreetype-dev libfreetype6 libfreetype6-dev libgcc-9-dev libgdbm-compat4 libgdbm6 libgl1 libgl1-mesa-dri libglapi-mesa libglib2.0-0 libglib2.0-data libglvnd0 libglx-mesa0
libglx0 libgomp1 libgssapi3-heimdal libhcrypto4-heimdal libheimbase1-heimdal libheimntlm0-heimdal libhx509-5-heimdal libice-dev libice6 libicu66 libisl22 libitm1
libkrb5-26-heimdal libksba8 libldap-2.4-2 libldap-common libllvm12 liblocale-gettext-perl liblsan0 libmpc3 libmpfr6 libnpth0 libpciaccess0 libperl5.30 libpng-dev libpng-tools
libpng16-16 libpthread-stubs0-dev libquadmath0 libreadline8 libroken18-heimdal libsasl2-2 libsasl2-modules libsasl2-modules-db libsensors-config libsensors5 libsm-dev libsm6
libsqlite3-0 libssl1.1 libstdc++-9-dev libtcl8.6 libtk8.6 libtsan0 libubsan1 libutempter0 libvulkan1 libwayland-client0 libwind0-heimdal libx11-6 libx11-data libx11-dev
libx11-xcb1 libxau-dev libxau6 libxaw7 libxcb-dri2-0 libxcb-dri3-0 libxcb-glx0 libxcb-present0 libxcb-randr0 libxcb-shape0 libxcb-shm0 libxcb-sync1 libxcb-xfixes0 libxcb1
libxcb1-dev libxcomposite1 libxdmcp-dev libxdmcp6 libxext-dev libxext6 libxfixes3 libxft-dev libxft2 libxi6 libxinerama1 libxkbfile1 libxml2 libxmu6 libxmuu1 libxpm4 libxrandr2
libxrender-dev libxrender1 libxshmfence1 libxss-dev libxss1 libxt-dev libxt6 libxtst6 libxv1 libxxf86dga1 libxxf86vm1 linux-libc-dev make manpages manpages-dev
mesa-vulkan-drivers netbase patch perl perl-modules-5.30 pinentry-curses pkg-config readline-common shared-mime-info tcl tcl-dev tcl8.6 tcl8.6-dev tk tk-dev tk8.6 tk8.6-dev
tzdata ucf uuid-dev x11-common x11-utils x11proto-core-dev x11proto-dev x11proto-scrnsaver-dev x11proto-xext-dev xbitmaps xdg-user-dirs xorg-sgml-doctools xterm xtrans-dev
xz-utils zlib1g-dev
I used these commands to find out what pulls in the enourmous amount of packages:
docker run --rm -it ubuntu:20.04 bash
apt-get update
for i in openjdk-11-jdk-headless netcat dnsutils less procps iputils-ping python3 python3-dev python3-setuptools python3-yaml python3-kazoo libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev curl; do echo $i; apt-get install -s $i; done
Describe the solution you’d like
The Pulsar docker image should not contain development tools for compiling.
Issue Analytics
- State:
- Created 2 years ago
- Comments:7 (4 by maintainers)
Top Results From Across the Web
Set up a standalone Pulsar in Docker
For local development and testing, you can run Pulsar in standalone mode on your own machine within a Docker container.
Read more >Shrinking your Python application's Docker image: an overview
Learn the variety of techniques you can use to make your Python application's Docker image a whole lot smaller.
Read more >apachepulsar/pulsar - Docker Image
Apache Pulsar is a highly scalable, low latency messaging platform running on commodity hardware. It provides simple pub-sub semantics over topics, guaranteed ...
Read more >What is Apache Pulsar? - DataStax
Apache Pulsar is an open-source messaging system. This explainer highlights features, best practices, and what sets Apache Pulsar apart from ...
Read more >Available CRAN Packages By Date of Publication
2022-12-11, container, Extending Base 'R' Lists ... 2022-12-01, admiraldev, Development Tools for the Admiral Package Family. 2022-12-01, ALassoSurvIC ...
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
thanks for getting back that fast!
ps: filed an issue for doc update https://github.com/apache/pulsar/issues/17774
I’ve found dive to be a helpful tool for inspecting docker images.