www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - What's our container story?

reply Lance Bachmeier <no spam.net> writes:
With Apple's [Containerization announcement 
yesterday](https://www.youtube.com/watch?v=JvQtvbhtXmo) and 
GitHub Codespaces running Linux containers, it appears the 
container thing is a big deal. I admit I don't know a lot about 
them beyond playing with Docker a few years back.

Looking at Docker Hub, I see there is an organization called 
dlangdockerized that makes semi-recent releases of DMD and LDC 
available. Do we have any getting started documentation 
available, and do we provide any other containers (for instance, 
to do web development)? I plan to use GitHub Codespaces for a 
class I'm teaching next semester. It would sure be nice to have 
some guidance on getting things up and running. This seems to be 
the extent of the documentation: `docker pull 
dlangdockerized/dmd` and then the user is on their own to figure 
out the rest.
Jun 10
next sibling parent Dukc <ajieskola gmail.com> writes:
On Tuesday, 10 June 2025 at 15:10:15 UTC, Lance Bachmeier wrote:
 With Apple's [Containerization announcement 
 yesterday](https://www.youtube.com/watch?v=JvQtvbhtXmo) and 
 GitHub Codespaces running Linux containers, it appears the 
 container thing is a big deal. I admit I don't know a lot about 
 them beyond playing with Docker a few years back.

 Looking at Docker Hub, I see there is an organization called 
 dlangdockerized that makes semi-recent releases of DMD and LDC 
 available. Do we have any getting started documentation 
 available, and do we provide any other containers (for 
 instance, to do web development)? I plan to use GitHub 
 Codespaces for a class I'm teaching next semester. It would 
 sure be nice to have some guidance on getting things up and 
 running. This seems to be the extent of the documentation: 
 `docker pull dlangdockerized/dmd` and then the user is on their 
 own to figure out the rest.
[Kaj Nackes post](https://dlang.org/blog/2019/03/14/containerize-your-d- erver-application/) on our official blog is probably the best starting point. Personally, I use Nix to build my docker containers. I don't have to know much about Docker, in fact I've never written a dockerfile! I also get extremely small containers since Nix will only put what really is needed to the container. No base OS image needed! It does mean you have to learn Nix and most likely also [Lionellos dub2nix](https://github.com/lionello/dub2nix).
Jun 10
prev sibling next sibling parent Sergey <kornburn yandex.ru> writes:
On Tuesday, 10 June 2025 at 15:10:15 UTC, Lance Bachmeier wrote:
 running. This seems to be the extent of the documentation: 
 `docker pull dlangdockerized/dmd` and then the user is on their 
 own to figure out the rest.
Previously there was most up-to-date repo from China: https://github.com/dlangchina/docker-dlang/tree/master But now dlangdockertized is handled by Elias and Jonas - I would say should be recommended image for usage. As usual DLF doesn’t care about production level things, but at least we have some heroes in community :)
Jun 10
prev sibling next sibling parent laserovsky <laserovsky gmail.com> writes:
On Tuesday, 10 June 2025 at 15:10:15 UTC, Lance Bachmeier wrote:
 With Apple's [Containerization announcement 
 yesterday](https://www.youtube.com/watch?v=JvQtvbhtXmo) and 
 GitHub Codespaces running Linux containers, it appears the 
 container thing is a big deal. I admit I don't know a lot about 
 them beyond playing with Docker a few years back.

 Looking at Docker Hub, I see there is an organization called 
 dlangdockerized that makes semi-recent releases of DMD and LDC 
 available. Do we have any getting started documentation 
 available, and do we provide any other containers (for 
 instance, to do web development)? I plan to use GitHub 
 Codespaces for a class I'm teaching next semester. It would 
 sure be nice to have some guidance on getting things up and 
 running. This seems to be the extent of the documentation: 
 `docker pull dlangdockerized/dmd` and then the user is on their 
 own to figure out the rest.
I've been maintaining a Docker image for DMD for a while now: 🔗 https://hub.docker.com/r/starxen/dmd It supports both Linux-based containers (Debian, Ubuntu, Fedora, openSUSE) and Windows containers. I'm trying to follow the same standards as the official Docker images like PHP or Node.js – aiming for clarity, modularity, and best practices. The image is kept up to date with the latest DMD versions. You'll find links to the documentation, GitLab repo, CI pipeline history, and more in the description. If you're using Docker and DMD – feel free to try it out and share any feedback 🙂
Jun 18
prev sibling next sibling parent reply Ki <rill.ki yahoo.com> writes:
On Tuesday, 10 June 2025 at 15:10:15 UTC, Lance Bachmeier wrote:
 With Apple's [Containerization announcement 
 yesterday](https://www.youtube.com/watch?v=JvQtvbhtXmo) and 
 GitHub Codespaces running Linux containers, it appears the 
 container thing is a big deal. I admit I don't know a lot about 
 them beyond playing with Docker a few years back.

 Looking at Docker Hub, I see there is an organization called 
 dlangdockerized that makes semi-recent releases of DMD and LDC 
 available. Do we have any getting started documentation 
 available, and do we provide any other containers (for 
 instance, to do web development)? I plan to use GitHub 
 Codespaces for a class I'm teaching next semester. It would 
 sure be nice to have some guidance on getting things up and 
 running. This seems to be the extent of the documentation: 
 `docker pull dlangdockerized/dmd` and then the user is on their 
 own to figure out the rest.
I also recently tried building [docker images](https://hub.docker.com/r/kirillsaidov/dlang) for D tool chain. Implemented [Dockerfiles](https://github.com/kirillsaidov/dlang-docker) for both DMD and LDC2 compilers using `ubuntu:24.04` as base image.
Jul 15
parent reply Serg Gini <kornburn yandex.ru> writes:
On Tuesday, 15 July 2025 at 14:16:30 UTC, Ki wrote:
 On Tuesday, 10 June 2025 at 15:10:15 UTC, Lance Bachmeier wrote:

 I also recently tried building [docker 
 images](https://hub.docker.com/r/kirillsaidov/dlang) for D tool 
 chain. Implemented 
 [Dockerfiles](https://github.com/kirillsaidov/dlang-docker) for 
 both DMD and LDC2 compilers using `ubuntu:24.04` as base image.
Thanks Ki! You container is working for me
Aug 07
parent Serg Gini <kornburn yandex.ru> writes:
On Thursday, 7 August 2025 at 07:45:13 UTC, Serg Gini wrote:
 On Tuesday, 15 July 2025 at 14:16:30 UTC, Ki wrote:
 On Tuesday, 10 June 2025 at 15:10:15 UTC, Lance Bachmeier 
 wrote:

 I also recently tried building [docker 
 images](https://hub.docker.com/r/kirillsaidov/dlang) for D 
 tool chain. Implemented 
 [Dockerfiles](https://github.com/kirillsaidov/dlang-docker) 
 for both DMD and LDC2 compilers using `ubuntu:24.04` as base 
 image.
Thanks Ki! You container is working for me
Also this container based on Debian looks well maintained https://hub.docker.com/r/vreitech/docker-ldc
Aug 07
prev sibling next sibling parent reply 0xEAB <desisma heidel.beer> writes:
On Tuesday, 10 June 2025 at 15:10:15 UTC, Lance Bachmeier wrote:
 Looking at Docker Hub, I see there is an organization called 
 dlangdockerized that makes semi-recent releases of DMD and LDC 
 available.
Unfortunately, the semi-release schedule of upstream project(s) makes things a bit semi-plannable ^^ I was looking forward to pre-build and push container images for the latest DMD release after the corresponding LDC release. Which eventually happened only a few weeks before what would have been the “approximate release date” of a future DMD release. Furthermore, I was also excited for a certain patch update of DMD to be released which hasn’t happened either (yet). Please note that I’m only trying to explain why there hasn’t been a container image release. I do *not* want to shift blame to upstream maintainers; they have valid reasons that justify the current situation.
Jul 22
parent reply 0xEAB <desisma heidel.beer> writes:
On Tuesday, 22 July 2025 at 21:16:02 UTC, 0xEAB wrote:
 I was looking forward to pre-build and push container images 
 for the latest […]
That said, up-to-date Containerfiles — aka Dockerfiles — are available: <https://github.com/dlang-dockerized/containerfiles> If one has a bit of CPU time to spare, one can easily build them on their own, too.
Jul 22
parent Serg Gini <kornburn yandex.ru> writes:
On Tuesday, 22 July 2025 at 21:24:47 UTC, 0xEAB wrote:
 On Tuesday, 22 July 2025 at 21:16:02 UTC, 0xEAB wrote:
 I was looking forward to pre-build and push container images 
 for the latest […]
That said, up-to-date Containerfiles — aka Dockerfiles — are available: <https://github.com/dlang-dockerized/containerfiles> If one has a bit of CPU time to spare, one can easily build them on their own, too.
DLF should consider to apply to this program https://www.docker.com/community/open-source/application/ https://docs.docker.com/docker-hub/repos/manage/trusted-content/dsos-program/
Aug 04
prev sibling parent Matheus Catarino <matheus-catarino hotmail.com> writes:
On Tuesday, 10 June 2025 at 15:10:15 UTC, Lance Bachmeier wrote:
 Looking at Docker Hub, I see there is an organization called 
 dlangdockerized that makes semi-recent releases of DMD and LDC 
 available. Do we have any getting started documentation 
 available, and do we provide any other containers (for 
 instance, to do web development)? I plan to use GitHub 
 Codespaces for a class I'm teaching next semester. It would 
 sure be nice to have some guidance on getting things up and 
 running. This seems to be the extent of the documentation: 
 `docker pull dlangdockerized/dmd` and then the user is on their 
 own to figure out the rest.
I've been using automated pushes by GH-action to support my own container for some time now, even though the LDC project offers recent (>=v1.40.1) alpine-tarballs. The latest ldc2 and opend-ldc for x86_64/aarch64 are provided in: https://github.com/kassane/alpine-ldc2-docker
Aug 04