dockerを使って RailsとReact(node)の開発環境を構築する
2017年4月29日はじめに dockerを使って、Rails(サーバーサイド)の環境を1つ、React(node)(クライアントサイド)の環境を1つ作る。 両環境ではChromeとAtomが動かせて、開発できるようになるところまでが目標です。 docker 自体触るのが初めてだったので、基本的なことから記載しておきます。 加えて初心者なので、間違えがあったらごめんなさい。 docker自体のインストールはあちこちに記載されているので、そちらを参照ください。 docker イメージのダウンロード まず、ubuntuのイメージを検索します。 スター(STARS)が多い、イメージをダウンロード(PULL)すればOKでしょう。 [bash] $ docker search “ubuntu 16” NAME DESCRIPTION STARS OFFICIAL AUTOMATED ubuntu Ubuntu is a Debian-based Linux operating s… 5919 [OK] 1and1internet/ubuntu-16-nginx-php-phpmyadmin-mysql-5 ubuntu-16-nginx-php-phpmyadmin-mysql-5 12 [OK] 1and1internet/ubuntu-16-apache ubuntu-16-apache 2 [OK] $ docker pull ubuntu [/bash] dockerの基本的な操作 dockerを起動し、bashシェルを起動します。 [bash] $ docker run -ti ubuntu bash [/bash] dockerの仮想環境でbashシェルが走ります。 ホストOSから dockerを閲覧・操作する ■起動中のコンテナの確認 [bash] $ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 561fabf4163e ubuntu “bash” 9 minutes ago Up 9 minutes adxx_eadd [/bash] ■停止しているコンテナの確認 [bash] $ docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 8541933cccdc hello-world “/hello” 3 seconds ago Exited (0) 2 seconds ago sick_euclid [/bash] ■コンテナの削除 [bash] docker rm [CONTAINER ID] [/bash] ■dockerイメージ一覧 [bash] $ docker images REPOSITORY TAG IMAGE ID CREATED SIZE ubuntu latest e7e0c0b1785f About an hour ago 163.1 MB [/bash] ■コンソールを複数立ち上げたい場合 docker ps で起動中のコンテナ(CONTAINER ID)を確認し、そのNAMEで 別のコンソールを立ち上げる [bash] $ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS cac1b80e535d ubuntu “bash” 13 minutes ago Exited (0) 9 seconds ago [/bash] [bash] $ docker exec -ti cac1 bash [/bash] ■dockerイメージの保存 ホストPC側で 起動中のdocker を 新しいリポジトリ名で commit します。 [bash] $ docker commit cac1 ubuntu/test1 sha256:ea0b9db5551f4e5a8cd5959f16b54943deda0b6d481fce39092f6b6af5333ff3 [/bash] ■dockerコンテナをむやみに増やさない方法 docker run するたびに新しいコンテナが出来ていきます。 これでは管理がややこしくなるので、docker run するときに –rm オプションをつけて docker から exitしたら、コンテナを削除するようにしたほうが便利です。 docker で作業したイメージを保存したい場合は、上に記述した docker commitをすればOKですので。 [bash] $ docker run –rm -ti ubuntu bash [/bash] Atom(エディタ)とChrome(ブラウザー)を動かせるようにする docker環境で、AtomとChromeをインストールしてみましょう。 最初は 最低限必要そうなパッケージを入れてみます。 [bash] # apt-get update [/bash] wget,net-tools コマンドのインストール [bash] # apt-get install wget net-tools nano [/bash] docker の X Windowシステムを使えるようにする。 dockerはたぶんコマンドラインで出来るサーバー環境を構築することをするのがメインなのかと思いますが・・・ 今回は開発環境をdockerで作りたいので、 dockerのX Windowシステムを使えるようにしてやる必要があります。 いきなりAtomやChromeをインストールするのは重いので、 x11-appsをインストールして動作確認してみます。 [bash] # apt-get install sudo # apt-get install x11-apps [/bash] ■dockerイメージの保存 ホストPC側で 起動中のdocker を 新しいリポジトリ名で commit します。 [bash] $ docker commit cac1 ubuntu/x11 sha256:ea0b9db5551f4e5a8cd5959f16b54943deda0b6d481fce39092f6b6af5333ff3 [/bash] 一旦 docker(仮想環境)から exitして再度、X Window を利用できるようなパラメーターをつけて、dockerを起動します。 [bash] # exit [/bash] dockerのX Windowシステムをホスト側で使えるようにして、起動する [bash] $ docker run -ti –privileged –rm -e DISPLAY=$DISPLAY -v /tmp/.X11-unix/:/tmp/.X11-unix [IMAGE ID] bash [/bash] ユーザーの作成・xclockを起動 root ユーザーではX Window を利用できないようなので、一般ユーザーを作ります。 そしてその一般ユーザーに sudo権限を与えます。…
Leave a comment