I’ll start:
When I was first learning to use Docker, I didn’t realize that most tutorials that include a database don’t configure the database to persist. Imagine my surprise when I couldn’t figure out why the database kept getting wiped!
I’ll start:
When I was first learning to use Docker, I didn’t realize that most tutorials that include a database don’t configure the database to persist. Imagine my surprise when I couldn’t figure out why the database kept getting wiped!
A lot of people don’t don’t realize that the port configuration of
127.0.0.1:8080
/localhost:8080
is different than just8080
. One binds to localhost, meaning remote machines can’t access it and the other does not.Combine this with the fact that people don’t realize docker bypasses firewalls like ufw or firewalld, editing ip/nftables rules directly…If you use an ip/port search engine like shodan or zoomeye, you can find loads of docker containers that probably weren’t supposed to be on the net.
Protip: you can configure the default host bind IP via
/etc/docker/daemon.json
. You could for example set:{ "ip": "127.0.0.1" }
which would result in
-p "8080:8080"
being equivalent to-p "127.0.0.1:8080:8080"