Build Rust container images faster using layer caching

In the previous blog post I described how to define GitHub Actions pipeline to benefit from caching Rust dependencies and container images’ layers. But the final result may also depend on your Dockerfile. Namely, Docker Buildx Action supports BuildKit and buildx and in order to benefit from this, your Dockerfile has to explicitly cache layers. Actually, this is quite easy to achieve, let’s see the example: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 # syntax=docker/dockerfile:1....

<span title='2022-06-03 00:00:00 +0000 UTC'>2022-06-03</span>&nbsp;·&nbsp;2 min&nbsp;·&nbsp;Boban Acimovic

Running stack of microservices using docker-compose and acim/go-reflex image

Go is very attractive language for microservices’ development, but using acim/go-reflex image and docker-compose you can run multiple microservices including your gateway on your local machine. This image can run virtually any Go server based application and also reacts on changes in the code and recompiles the binary on the fly. If you want to debug your microservices’ stack or develop a new feature where you have to touch multiple services, this is very good tool to do so....

<span title='2021-10-23 00:00:00 +0000 UTC'>2021-10-23</span>&nbsp;·&nbsp;3 min&nbsp;·&nbsp;Boban Acimovic

Run Docker as normal user on Ubuntu 20.04

In lot of instructions how to run docker on Ubuntu 20.04 (same applies to Linux Mint Ulyana) you may find that after installing docker you have to add your user to docker group by the following command: 1 sudo usermod -aG docker $USER If you still get permission errors, you may try to set ACL: 1 sudo setfacl -m user:$USER:rw /var/run/docker.sock

<span title='2020-11-17 00:00:00 +0000 UTC'>2020-11-17</span>&nbsp;·&nbsp;1 min&nbsp;·&nbsp;Boban Acimovic

New kind on the Block

Few months ago I wrote an article about replacing Minikube with MicroK8s , but now we have even better soluion, kind . Like dind allows running Docker inside Docker containers, kind allows running Kubernetes inside Docker containers. kind basically abstracts nodes as Docker containers and then runs Kubernetes inside. After you install Golang , it is quite easy to install and setup kind: 1 2 GO111MODULE="on" go get kind create cluster After some 30 seconds your single node cluster will be ready for development and testing....

<span title='2019-10-03 00:00:00 +0000 UTC'>2019-10-03</span>&nbsp;·&nbsp;1 min&nbsp;·&nbsp;Boban Acimovic