The site_url() will always be the location where you can reach the site by tacking on /wp-admin on the end, while home_url() would not reliably be this location.
docker build -t girish/wordpress .
docker run -tiP --link mysql:mysql -e MYSQL_URL= -v /tmp/data:/app/data girish/wordpress
The install step seems to install cookies! When testing using docker, make sure that the cookies of a previous install are cleared. Otherwise, one keeps getting a 304.