How are you assigning IPs to the containers? If you aren’t and instead you are using whatever is the default, then I can tell you that you’re using NAT. Please note as in the blog post, NAT means you have an internal network on which the containers and the host have IPs from. You then map a port from the host to the container when you run docker run. Something like:
docker run -d -p 8080:80 containerimage:tag
If you wan to ping from the container to the host, you can ping using the IP of the host from the container. Remember to open for ICMP traffic on the host.
Also, when you create a new container it will get a new IP address. You can assign a specific IP to the container if you want - also when you run docker run.