Magesh Ravi
Artist | Techie | Entrepreneur
Doom scrolling gives you that high every 10 seconds. You don’t get bored. You don’t get to the good part.
Boredom is good.
Boredom is good.
You get past the boredom, you find something good to do with your time - sports, art or something constructive.
Such things make you forget time while you’re at it. They give you a high AFTER you’ve completed it.
The runtime environment bridges these components into a cohesive whole. That's why developers often gain deeper insights by running the software in its intended environment than analysing each component in isolation.
To understand a software system, study its foundational elements:
Spent 5+ hours trying to figure out why my home server wouldn't connect to the internet.
Turns out my router reset all it's configurations including the subnet. So any connection that didn't rely on DHCP failed.
Also, there is a .dockerignore file that lets you ignore files/folders when building an image. Similar to .gitignore.
With BuildKit's secrets,
# create user
RUN --mount=type=secret,id=user_uid \
--mount=type=secret,id=user_gid \
GROUP_ID=$(cat /run/secrets/user_gid) \
USER_ID=$(cat /run/secrets/user_uid) \
# ...
Without BuildKit's secrets,
ARG USERNAME=webinative
ARG USER_UID=1000
ARG USER_GID=${USER_UID}
# create user
RUN groupadd --gid $USER_GID ${USERNAME} \
&& useradd --uid ${USER_UID} --gid ${USER_GID} -m ${USERNAME}
TIL about BuildKit in Docker.
As of today, the legacy builder is the default option. However, BuildKit can be enabled with the simple ENV variable,
DOCKER_BUILDKIT=1 docker build