● Most containers only need to communicate
with other containers
● Only expose the frontend to the public
Flask python app
Publish port 5000
Expose port 27015
Publish port 8080
Links will expose the child container’s exposed
ports, ip, and environment to the parent.
Environment vars are prefixed with the alias of
the child i.e.
docker run -d -p 8080 -name rethinkdb -e NAME=todo
crosbymichael/rethinkdb --bind all
Publish the admin ui to the host, keep
everything else internally.
0.0.0.0:49155->8080/tcp, 28015/tcp, 29015/tcp
Starting the frontend
docker run -d -p 5000 -link rethinkdb:db -name
#python code using a client lib
proto, ip, port = docker.require_port('db', 28015)
database_name = docker.require_env('db', 'name')