instruction: Create a Dockerfile for Python with production best practices
output: ```dockerfile
  from the training/postgres
  image, which contains a PostgreSQL database.Now, you need to delete the web container you created previously so you can replace it
  with a linked one:
  
  $ docker container rm -f web
  Now, create a new web container and link it with your db container.
  
  $ docker run -d -P --name web --link db:db training/webapp python app.py
  This links the new web container with the db container you created
  earlier. The --link flag takes the form:--link <name or id>:alias
  Where name is the name of the container we're linking to and alias is an
  alias for the link name. That alias is used shortly.
  The --link flag also takes the form:--link <name or id>
  In this case the alias matches the name. You could write the previous
  example as:
  
  $ docker run -d -P --name web --link db training/webapp python app.py
  Next, inspect your linked containers with docker inspect:
  
  $ docker inspect -f "{{ .HostConfig.Links }}" web
  
  [/db:/web/db]
  You can see that the web container is now linked to the db container
  web/db. Which allows it to access information about the db container.So what does linking the containers actually do? You've learned that a link allows a
  source container to provide information about itself to a recipient container. In
  our example, the recipient, web, can access information about the source db. To do
  this, Docker creates a secure tunnel between the containers that doesn't need to
  expose any ports externally on the container; when we started the
  db container we did not use either the -P or -p flags. That's a big benefit of
  linking: we don't need to expose the source container, here the PostgreSQL database, to
  the network.Docker exposes connectivity information for the source container to the
  recipient container in two ways:Environment variables,Updating the /etc/hosts file.Environment variablesDocker creates several environment variables when you link containers. Docker
  automatically creates environment variables in the target container based on
  the --link parameters. It also exposes all environment variables
  originating
  ```