Dans l’optique d’utiliser Docker pour tout faire (ne pas installer quoi que ce soit sur votre machine), voici un petit article pour vous expliquer comment partir d’un Docker vide, et créer votre application Ruby On Rails de zero (À noter que bien entendu ce principe fonctionnera avec n’importe quelle technologie, pas que Ruby On Rails).
Étape 1: Récupérer une image de Ruby
Le point de départ est ici Ruby. La première étape consiste donc à aller rechercher votre image Ruby sur https://hub.docker.com/.
Actuellement, la version la plus récente de Ruby est la 2.4.0 et il existe une image avec le tag 2.4.0-slim que nous allons utiliser (-slim
signifie que tout ce qui n’est pas necessaire à Ruby a été retiré afin de réduire au maximum la taille de l’image finale).
Voici donc la première commande à lancer:
1
docker pull ruby:2.4.0-slim
Une fois le téléchargement fini, vous pourrez utiliser la commande docker images
afin de voir l’image, sa taille, etc …
Étape 2: Installer Rails
Maintenant que nous avons une image Ruby, il faut la lancer et y installer Rails dedans.
Pour se faire, nous allons créer un container, y monter le dossier où nous créerons notre application (afin de percister les fichiers créés) et installer les dépendences afin que Rails s’installe correctement.
Voici la commande à lancer depuis le dossier où vous stockez vos projets:
1
2
3
4
5
docker run --rm \
-it \
--volume "$PWD:/devs" \
--workdir=/devs \
ruby:2.4.0-slim bash
Avec --volume
nous mountons le dossier courant afin que les fichiers créés dans le containers soient enregistré sur votre disque dur, --workdir
permet de démarrer notre commande bash
directement dans le bon dossier.
Avant d’installer Rails, il nous faut installer les outils de compilation. L’image de Ruby est basé sur Debian, il nous faut donc utiliser apt
:
1
apt-get update && apt-get install -y build-essential
Maintenant nous pouvons procéder à l’installation de Rails:
1
gem install rails
Pour finir, vérifions que rails est bien installé:
1
rails --version
Si tous s’est bien passé, vous verrez quelle version est installée.
Étape 3: Créer le projet Rails
Il ne vous reste plus qu’à créer le projet:
1
rails new mon_nom_de_projet
Voilà.
PS: Afin d’éviter les soucis de permissions (les fichiers sont créés en tant que root
), avant de quitter le container n’oubliez pas de lancer un petit chown 1000:1000 -R mon_nom_de_projet/