Dockerの環境構築
やること
- ローカルのワーキングディレクトリを作成
- DockerでRubyの環境を作成
- Dockerで作成したワーキングディレクトリをマウントして環境に入る
- Dockerに必要なパッケージ等をインストール
- gnuplot & numo-gnuplot
- プロット用
- numo-narray
- 行列計算 & 基礎的な数学の関数(sin cos exp等)
- gnuplot & numo-gnuplot
Docker環境を作って、ワーキングディレクトリをマウントする所まで
実行コマンド
# ローカルにワーキングディレクトリを作成
local$ mkdir working_dir
# RubyのDockerイメージを取得
local$ docker pull ruby:latest
# ワーキングディレクトリをマウントしてDocker環境に入る
local$ docker run -v /(workingディレクトリをおいているパス)/working_dir/:/working_dir/ -it ruby /bin/bash
なぜワーキングディレクトリをマウントしておくか
gnuplotで出力したファイルを、Dockerファイルシステムの外で簡単に確認できる。ローカル環境にコピーするコマンドを叩かず、手元の環境(macOS)のプレビューアプリ等で出力したpngイメージを確認できるので便利。他にも、特に設定せずに、自分のお気に入りのエディタを使えるのもよい。
Dockerに必要なパッケージ等をインストール
# gunuplotのインストール
docker$ apt update -y && apt upgrade -y && apt install -y gnuplot
# 各種gemのインストール
docker$ gem install numo-narray numo-gnuplot
とりあえず動かしてみる
ローカルのワーキングディレクトリに先人の記事のファイルをそのまま作成
Python vs Ruby 『ゼロから作るDeep Learning』 1章 sin関数とcos関数のグラフ
https://qiita.com/niwasawa/items/6d9aba43f3cdba5ca725
# ワーキングディレクトリへ移動
docker$ cd working_dir
# 作ったファイルがあるかの確認
docker:working_dir$ ls
sin_cons.rb # ←ちゃんとローカルで作ったファイルがある
# 実行
docker:working_dir$ ruby sin_cos.rb
docker:working_dir$ ls
ruby_graph.png sin_cons.rb # ← 出力されている
結果
備考:なぜRuby?
鳥取県米子市出身で、松江にサテライトオフィスを持つ企業で働いている為。
松江といえばMatzさん、Rubyの聖地。仕事でもRubyをつかうしね。