Sorry, it is again about Docker 🙂 I use it more and more last days.
At some point we need to rebuild images from scratch without using cache. You can use following commands to achieve best results:
docker system prune
docker-compose build --no-cache
Then you can use up command as usual:
Recently I had an issue with Docker Compose startup order. PostgreSQL was running after Django’s web container so it was impossible to make proper connection especially while first run. The solution is to write some script which will check status of PostgreSQL before running web worker. I found initial version of it on Docker’s web site:
But it was not working without postgres’ password. After a little research I came up with following update. You need to add PGPASSWORD=$POSTGRES_PASSWORD env variable before calling psql command.
After few additional steps (you can read about them on my medium post) it now works just fine.
I did pull request with regarding changes to Docker’s documentation and it is accepted.
Task: remove everything related to Docker and cleanup
sudo docker system prune
If you want to remove any stopped containers and all unused images, not just dangling images use it with “-a” option:
sudo docker system prune -a
Why: after playing with Docker and Docker Compose at some point you may have tons of unused images and containers which occupy disk space. I do not like keeping unnecessary files on my system 🙂
How To Remove Docker Images, Containers, and Volumes (DigitalOcean)
Docker Pruning (official docs)
Today is a BIG day. I finally decided to back to Linux as a primary development machine and start writing about my development adventures publicly.
First about Linux. I am big fan of this OS especially CentOS. From first days of my development life I have tested a lot of dists of it. I almost knew every changes in Fedora, tested tons of live dists and played a lot with FreeBSD. But, all this, was not as serious as Linux administration or so on. Serious part was my tries to understand architecture of Minix and writing own one on Assembler (and actually I did based on some custom open sourced version of it and it actually launched from boot). It was very fun, interesting and challenging for newbie. Unix/Linux is a whole new world and I am very happy that I have been very small, unknown part of it.
Then, I start writing code in .NET Framework and left all these for a while. I always had a version of Ubuntu running on my test machine but it was not daily usage experience. With tools like Vagrant/Docker you can easily run and test everything from Windows as a host machine. But it is not a actual using of Linux.
So, today, 17.03.2018, I decided to move to Linux/Ubuntu and again, make it my primary OS. For last years I code 90% on Python so I will not lose anything. For very urgent customer related things I have additional PC running Windows and few Windows VMs running on Windows Azure, so I will not miss it a lot 🙂
About writing. I noticed that when I write my thoughts about the technologies used, it’s easier for me to remember them later. Thus, I decided to do it public. It is not blogging and not as big as articles. Just small notes with few descriptions.
Let’s see how it goes 🙂