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 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
prev 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 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