Browse Source

Fixes #1843, #1936 - chown files back to host user in django example.

Also add a missing 'touch Gemfile.lock' to fix the rails tutorial.

Signed-off-by: Daniel Nephin <[email protected]>
Daniel Nephin 10 years ago
parent
commit
d392f70cc6
2 changed files with 26 additions and 4 deletions
  1. 14 2
      docs/django.md
  2. 12 2
      docs/rails.md

+ 14 - 2
docs/django.md

@@ -110,8 +110,20 @@ In this step, you create a Django started project by building the image from the
 
 
 3. After the `docker-compose` command completes, list the contents of your project.
 3. After the `docker-compose` command completes, list the contents of your project.
 
 
-        $ ls
-        Dockerfile       docker-compose.yml          composeexample       manage.py        requirements.txt
+        $ ls -l
+        drwxr-xr-x 2 root   root   composeexample
+        -rw-rw-r-- 1 user   user   docker-compose.yml
+        -rw-rw-r-- 1 user   user   Dockerfile
+        -rwxr-xr-x 1 root   root   manage.py
+        -rw-rw-r-- 1 user   user   requirements.txt
+
+    The files `django-admin` created are owned by root. This happens because
+    the container runs as the `root` user.
+
+4. Change the ownership of the new files.
+
+        sudo chown -R $USER:$USER .
+
 
 
 ## Connect the database
 ## Connect the database
 
 

+ 12 - 2
docs/rails.md

@@ -37,6 +37,10 @@ Next, create a bootstrap `Gemfile` which just loads Rails. It'll be overwritten
     source 'https://rubygems.org'
     source 'https://rubygems.org'
     gem 'rails', '4.2.0'
     gem 'rails', '4.2.0'
 
 
+You'll need an empty `Gemfile.lock` in order to build our `Dockerfile`.
+
+    $ touch Gemfile.lock
+
 Finally, `docker-compose.yml` is where the magic happens. This file describes the services that comprise your app (a database and a web app), how to get each one's Docker image (the database just runs on a pre-made PostgreSQL image, and the web app is built from the current directory), and the configuration needed to link them together and expose the web app's port.
 Finally, `docker-compose.yml` is where the magic happens. This file describes the services that comprise your app (a database and a web app), how to get each one's Docker image (the database just runs on a pre-made PostgreSQL image, and the web app is built from the current directory), and the configuration needed to link them together and expose the web app's port.
 
 
     db:
     db:
@@ -69,6 +73,12 @@ image. Once it's done, you should have generated a fresh app:
     README.rdoc  config.ru    public
     README.rdoc  config.ru    public
     Rakefile     db           test
     Rakefile     db           test
 
 
+
+The files `rails new` created are owned by root. This happens because the
+container runs as the `root` user.  Change the ownership of the new files.
+
+    sudo chown -R $USER:$USER .
+
 Uncomment the line in your new `Gemfile` which loads `therubyracer`, so you've
 Uncomment the line in your new `Gemfile` which loads `therubyracer`, so you've
 got a Javascript runtime:
 got a Javascript runtime:
 
 
@@ -80,6 +90,7 @@ rebuild.)
 
 
     $ docker-compose build
     $ docker-compose build
 
 
+
 ### Connect the database
 ### Connect the database
 
 
 The app is now bootable, but you're not quite there yet. By default, Rails
 The app is now bootable, but you're not quite there yet. By default, Rails
@@ -87,8 +98,7 @@ expects a database to be running on `localhost` - so you need to point it at the
 `db` container instead. You also need to change the database and username to
 `db` container instead. You also need to change the database and username to
 align with the defaults set by the `postgres` image.
 align with the defaults set by the `postgres` image.
 
 
-Open up your newly-generated `database.yml` file. Replace its contents with the
-following:
+Replace the contents of `config/database.yml` with the following:
 
 
     development: &default
     development: &default
       adapter: postgresql
       adapter: postgresql