Modèle: créer un environnement de développement Ruby / Rails avec un conteneur Docker (version Mac)

Si vous souhaitez créer facilement un environnement de développement Ruby / Rails, Docker est le meilleur choix. Ici, Mac OS est utilisé comme système d'exploitation hôte. (Voir ici pour les hôtes Ubuntu)

Dans le conteneur Docker, le système d'exploitation de base est Ubuntu 20.04, et les bibliothèques et Ruby lui-même nécessaires pour exécuter les applications Rails sont installés. L'application Rails elle-même peut être référencée à partir d'un répertoire local sur le système d'exploitation hôte. Il s'agit pour le conteneur Docker de gérer l'environnement d'exécution de l'application Rails, et de réaliser l'édition de l'application Rails et la gestion du code source par l'éditeur sur l'OS hôte.

Il a les mérites suivants.

  1. Pas besoin d'installer Ruby ou Rails directement sur le système d'exploitation hôte
  2. Il est également possible d'exécuter différentes versions de Ruby et Rails dans des conteneurs séparés selon les besoins
  3. Le code source de Rails peut être édité avec votre éditeur préféré sur le système d'exploitation hôte
  4. La gestion Git peut être limitée au code source sur le système d'exploitation hôte
  5. (Le Dockerfile.dev suivant doit également être géré par Git)

Construire et lancer un conteneur

Veuillez installer le service Docker sur le système d'exploitation hôte à l'avance.

Tout d'abord, placez les fichiers suivants dans n'importe quel répertoire.

Dockerfile.dev


#Ruby par Docker/Construire un environnement de développement Rails
#
#Installez n'importe quelle version de Ruby sur un conteneur basé sur Ubuntu
#Aussi, node.Installez js
#Les applications Rails sont générées dans le répertoire local du système d'exploitation hôte, pas dans le conteneur

From ubuntu:20.04

ENV DEBIAN_FRONTEND=noninteractive

#Mettre à jour le logiciel installé sur Ubuntu
RUN apt-get update -y
RUN apt-get upgrade -y

#Apt les packages nécessaires pour construire Ruby-Installer via get
RUN apt-get install -y build-essential
RUN apt-get install -y libssl-dev libreadline-dev zlib1g-dev
RUN apt-get install -y git wget 

#Bibliothèque requise lors de l'utilisation de sqlite3
RUN apt-get install libsqlite3-dev

#Bibliothèque requise lors de l'utilisation de MySQL ou MariaDB
RUN apt-get install -y libmysqlclient-dev

#Autres outils utiles
RUN apt-get install -y nano

# ruby-Installez n'importe quelle version de Ruby en utilisant build
RUN git clone --depth=1 https://github.com/rbenv/ruby-build
RUN PREFIX=/usr/local ./ruby-build/install.sh
RUN rm -rf ruby-build
RUN ruby-build 2.7.2 /usr/local

# node.js,Installer npm
RUN apt-get install -y nodejs npm
#n package installé
RUN npm install n -g
#Installer le nœud à l'aide du package n
RUN n stable
#L'ancien nœud que vous avez mis en premier.js,Supprimer npm
RUN apt-get purge -y nodejs npm
#Installer le paquet de fils
RUN npm install yarn -g

Voici comment créer un conteneur (Remplacez votre_app_name par le nom de votre application)

$ export YOURAPP=your_app_name
$ docker build -t $YOURAPP -f Dockerfile.dev .

Démarrez le conteneur

$ export REPO=`pwd`
$ docker run -d --name $YOURAPP -v $REPO/:/$YOURAPP/ -p 4000:3000 -ti $YOURAPP

Générer une application Rails dans un conteneur

Démarrez bash sur le conteneur et créez une application Rails.

$ docker exec -ti $YOURAPP bash

Accédez à votre répertoire d'applications (Remplacez votre_app_name par le nom de votre application)

$ cd /your_app_name

Exécutez le bundle init pour créer un fichier Gemfile

$ bundle init

Modifiez le Gemfile (utilisez l'éditeur nano ci-dessous)

$ nano Gemfile

Décommenter # gem "rails" dans Gemfile (Remplacez # gem "rails" par gem "rails")

Installer la Gemme associée à Rails sur le fournisseur / bundle avec l'installation du bundle

$ bundle config set path 'vendor/bundle'
$ bundle install

rails new crée une nouvelle application Rails dans ce répertoire Overwrite / example / Gemfile? (Entrez "h" pour obtenir de l'aide) Répondez Y à la question [Ynaqdhm]

$ bundle exec rails new .

Lancer une application Rails Définissez l'adresse IP à lier sur 0.0.0.0 afin qu'elle soit accessible à partir du système d'exploitation hôte.

$ bundle exec rails s -b 0.0.0.0

Maintenant que le travail sur le conteneur est terminé, accédez à nouveau à http: // localhost: 4000 avec le navigateur du système d'exploitation hôte. Si Yay! You are on Rails! S'affiche dans le navigateur, cela signifie que l'opération réussit.

Recommended Posts

Modèle: créer un environnement de développement Ruby / Rails avec un conteneur Docker (version Mac)
Modèle: créer un environnement de développement Ruby / Rails avec un conteneur Docker (version Ubuntu)
Comment créer un environnement de développement Ruby on Rails avec Docker (Rails 6.x)
Comment créer un environnement de développement Ruby on Rails avec Docker (Rails 5.x)
Créer un environnement de développement Wordpress avec Docker
Création d'un environnement de développement pour Ruby on Rails à l'aide de Docker + VSCode (Remote Container)
Étapes pour créer un environnement de développement Ruby on Rails avec Vagrant
Créer un environnement de développement pour Docker + Rails6 + Postgresql
Créez rapidement un environnement de développement WordPress avec Docker
Créer un environnement de débogage sur un conteneur - Créer un environnement de développement local pour les didacticiels Rails avec Docker -
Créez un environnement de développement local pour les didacticiels Rails avec Docker (Rails 6 + PostgreSQL + Webpack)
Créer un environnement de développement Ruby on Rails sur AWS Cloud9
Créez un environnement de développement pour créer des applications Ruby on Jets + React avec Docker
Créer un environnement Node.js avec Docker
J'ai créé un environnement de développement avec rails6 + docker + postgreSQL + Materialise.
[Rails] [Docker] Le copier-coller est OK! Comment créer un environnement de développement Rails avec Docker
Comment quitter Docker pour Mac et créer un environnement de développement Docker avec Ubuntu + Vagrant
[Docker] Construction de l'environnement de développement Rails6 / Ruby2.7 / MySQL8
Créer un environnement de développement Java sur Mac
Comment créer un environnement Rails 6 avec Docker
Construction d'un environnement de développement simple Docker + Django
Procédure de création d'un environnement de développement d'applications Rails avec Docker [Rails, MySQL, Docker]
Créez un environnement de développement où les points d'arrêt de Ruby on Rails fonctionnent sous Windows
Comment créer un environnement Rails + Vue + MySQL avec Docker [dernière version 2020/09]
Créer un environnement de développement pour Django + MySQL + nginx avec Docker Compose
Création d'un environnement de développement pour les applications Web Java avec Docker pour Mac Part1
Construction de l'environnement de développement Simple Docker Compose + Django
[Win10] Créer un environnement de développement JSF avec NetBeans
Créer un environnement de développement pour Docker, Java, vs code
[Rails] Comment créer un environnement avec Docker
Créer un environnement de développement Spring Boot avec docker
Créer un environnement de développement Java avec VS Code
Créer un environnement de développement Java avec VS Code sur Mac
Environnement Build Rails (API) x MySQL x Nuxt.js avec Docker
Essayez de créer un environnement de développement Java à l'aide de Docker
Construction de l'environnement de développement Rails6 [Mac]
[Docker] Construction de l'environnement Rails 5.2 avec docker
Créer un environnement Docker avec WSL
Ruby ① Création d'un environnement Windows
Créez un environnement de développement «Spring Thorough Introduction» avec IntelliJ IDEA
Créez un environnement de développement d'applications Rails avec Docker [Docker, Rails, Puma, Nginx, MySQL]
Créez un environnement virtuel CentOS 8 sur votre Mac à l'aide de VirtualBox
J'ai essayé de créer un environnement de développement padrino avec Docker
Créez un environnement Vue3 avec Docker!