Thread overview
docker images
Jun 28, 2018
Radu
Jun 29, 2018
Joakim
Jun 29, 2018
Anton Fediushin
Jun 29, 2018
Joakim
Jun 29, 2018
Anton Fediushin
Jun 29, 2018
Seb
June 28, 2018
Created a couple of docker images useful for dlang dev.

LDC cross compiler for ARM

- https://hub.docker.com/r/rracariu/ldc-linux-armhf/

This image allows one to easily cross compile to ARM. Main use-case is continuous integration servers.

- https://hub.docker.com/r/rracariu/dub-registry/

Allows easily running a private dub repository on cloud.
June 29, 2018
On Thursday, 28 June 2018 at 17:54:45 UTC, Radu wrote:
> Created a couple of docker images useful for dlang dev.
>
> LDC cross compiler for ARM
>
> - https://hub.docker.com/r/rracariu/ldc-linux-armhf/
>
> This image allows one to easily cross compile to ARM. Main use-case is continuous integration servers.
>
> - https://hub.docker.com/r/rracariu/dub-registry/
>
> Allows easily running a private dub repository on cloud.

Note that there is also an Alpine container with LDC, should be useful for building D microservices:

https://hub.docker.com/r/andrewbenton/alpine-ldc/
June 29, 2018
On Friday, 29 June 2018 at 04:51:49 UTC, Joakim wrote:
> On Thursday, 28 June 2018 at 17:54:45 UTC, Radu wrote:
>> Created a couple of docker images useful for dlang dev.
>>
>> LDC cross compiler for ARM
>>
>> - https://hub.docker.com/r/rracariu/ldc-linux-armhf/
>>
>> This image allows one to easily cross compile to ARM. Main use-case is continuous integration servers.
>>
>> - https://hub.docker.com/r/rracariu/dub-registry/
>>
>> Allows easily running a private dub repository on cloud.
>
> Note that there is also an Alpine container with LDC, should be useful for building D microservices:
>
> https://hub.docker.com/r/andrewbenton/alpine-ldc/

It would be so nice if I knew about this image earlier. I ended up making my own minimal image for LDC with OpenSSL 1.1 and goinsu for privilege lowering.

https://hub.docker.com/r/ohboi/minildc/

It's 153MiB, which is just 53MiB bigger than alpine-based image. I think I did a pretty good job there, most importantly there aren't  any problems with musl libc, since it's based on debian-slim.

Yet still I don't really use this image - LDC has some problems compiling my vibe.d applications. For every CI build I use my other image:

https://hub.docker.com/r/ohboi/minidmd/

Which is the same thing, but with DMD instead. It's even smaller, only 91MiB.

June 29, 2018
On Friday, 29 June 2018 at 06:13:53 UTC, Anton Fediushin wrote:
> On Friday, 29 June 2018 at 04:51:49 UTC, Joakim wrote:
>> On Thursday, 28 June 2018 at 17:54:45 UTC, Radu wrote:
>>> [...]
>>
>> Note that there is also an Alpine container with LDC, should be useful for building D microservices:
>>
>> https://hub.docker.com/r/andrewbenton/alpine-ldc/
>
> It would be so nice if I knew about this image earlier. I ended up making my own minimal image for LDC with OpenSSL 1.1 and goinsu for privilege lowering.
>
> https://hub.docker.com/r/ohboi/minildc/
>
> It's 153MiB, which is just 53MiB bigger than alpine-based image. I think I did a pretty good job there, most importantly there aren't  any problems with musl libc, since it's based on debian-slim.
>
> Yet still I don't really use this image - LDC has some problems compiling my vibe.d applications. For every CI build I use my other image:
>
> https://hub.docker.com/r/ohboi/minidmd/
>
> Which is the same thing, but with DMD instead. It's even smaller, only 91MiB.

Try out the Alpine image and see if it doesn't have the same issue with vibe-d. Also, if you report your problem with ldc here, preferably with a reduced sample, someone will take a look:

https://github.com/ldc-developers/ldc/issues
June 29, 2018
On Friday, 29 June 2018 at 06:30:30 UTC, Joakim wrote:
> Try out the Alpine image and see if it doesn't have the same issue with vibe-d. Also, if you report your problem with ldc here, preferably with a reduced sample, someone will take a look:
>
> https://github.com/ldc-developers/ldc/issues

Compilation fails with alpine-based image too.
I opened an issue here: https://github.com/vibe-d/vibe.d/issues/2177

What happens is that for some reason there are multiple function definitions with the same mangled name `OPENSSL_sk_num` even though there is only one definition I found in the code: https://github.com/D-Programming-Deimos/openssl/blob/master/deimos/openssl/stack.d#L94

Now I have no idea on what's going on, since it might be a problem of vibe.d, deimos-openssl or ldc.
June 29, 2018
On Thursday, 28 June 2018 at 17:54:45 UTC, Radu wrote:
> Created a couple of docker images useful for dlang dev.
>
> LDC cross compiler for ARM
>
> - https://hub.docker.com/r/rracariu/ldc-linux-armhf/
>
> This image allows one to easily cross compile to ARM. Main use-case is continuous integration servers.
>
> - https://hub.docker.com/r/rracariu/dub-registry/
>
> Allows easily running a private dub repository on cloud.

We now setup auto-deploy to DockerHub from the official dlang/dub-registry:

https://github.com/dlang/dub-registry/pull/354
https://hub.docker.com/r/dlangcommunity/dub-registry/tags

So your private Dub registry docker instance should be able to update itself automatically.