Windows10 + Docker環境でRuby on Railsの環境を作る方法

どうも、りーずです。

Windows10 + Docker環境でRuby on Railsの環境を作る方法です。

DockerというのはWindowsやMacでLinuxの仮想環境をカンタンに作れるもので、いまではアプリをインストールするだけで使えるようになります。

詳しくは

Windows10 ProでDockerを使ってみる。Docker Desktop for Windows。【メモ】

こちらの記事をどうぞ。

さて、このDesktop for Windowsをインストールし、Dockerが起動できるようになってから実際にRuby on RailsをDocker経由で動かす方法です。

実際に動作した時にツイートしたものがこちら。

ツイートに書いてあるものがすべてです。

【Windows】DockerでRuby on Rails開発環境構築方法
https://omathin.com/2020/12/29/docker-ruby-on-rails/

基本的に、こちらの記事の通りに行い、
docker-compose.ymlファイルで
image: mysql:5.

となっている部分を

image: mysql:5.7

というふうに、5.7を指定してあげます。(MySQLの5の最新バージョンは5.7だからです)

環境構築には

・Dockerfile
・Gemfile
・Gemfile.lock
・docker-compose.yml

の4つのファイルを自分で作ります。


具体的なコード

・Dockerfile

FROM ruby:2.6.7
RUN apt-get update -qq && apt-get install -y build-essential nodejs
RUN mkdir /app
WORKDIR /app
COPY Gemfile /app/Gemfile
COPY Gemfile.lock /app/Gemfile.lock
RUN bundle install
COPY . /app

・Gemfile

source 'https://rubygems.org'
gem 'rails', '5.2.5'

最初はこれだけでOK。
DockerfileにあるRUN bundle installが実行されるとGemfileが書き換えられます。
(この記事の時点で最新のRails 5.2.6でプロジェクトが作られました)

・Gemfile.lock

Gemfile.lockは空のものを用意します。
コマンドを実行することで、中身が作られます。

・docker-compose.yml

version: '3'
services:
  web:
    build: .
    command: bundle exec rails s -p 3000 -b '0.0.0.0'
    volumes:
      - .:/app
    ports:
      - 3000:3000
    depends_on:
      - db
    tty: true
    stdin_open: true
  db:
    image: mysql:5.7
    volumes:
      - db-volume:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: password
volumes:
  db-volume:

このようにファイルを用意したら

docker-compose run web rails new . --force --database=mysql

このコマンドを実行。
さらに

docker-compose build

を実行します。

database.ymlの中身で

password:
host: localhost

となっている部分を

password: password
host: db

このように変更します。
パスワードとホスト名を、docker-compose.ymlに記載したものと合わせるためです。

あとは
docker-compose up -d

というコマンドでRailsサーバーのコンテナとMySQLサーバのコンテナを起動させます。

そうしたら、

docker-compose run web bundle exec rake db:create

というコマンドで、データベースを作成します。

ひとまずこれでうまく動いてくれたので、メモ的に残しておきます。

mysql2というmysql接続用のGemの開発が2021年5月時点ではストップしています。

なので、Rubyのバージョンは2.6系の最新の2.6.7を選びました。

以上、簡単なメモでした。

また、こちらのYouTube動画ではMySQL8.0での環境構築方法を解説されているので貼っておきます。


その他、参考にさせていただいた記事:

・WindowsでDocker+Rails(MySQL)環境を作る+便利なツール紹介https://qiita.com/makicamel/items/af2cdbdffe65eaf5d24d

・Docker for Windows で Rails 6 + MySQL 8 の開発環境を構築する
https://qiita.com/y-kawaguchi/items/64c69967dc86efd31a57

iPhone 6sをiPhone XRにした話。

どうも、りーずです。

本日、iPhone 6sをiPhone XRにしました。

どうも最近、iPhone 6sが重くて、アプリの挙動が悪かったんですよね。
そして今年秋に発表されると言われているiOS15。ここでiPhone 6sのiOSサポートは切れると言われています(iOS14までのサポート)。

イオシスで中古のiPhone XR 128GB SIMフリー版をランクAで購入。
非常に綺麗です。傷といえる傷はなし。ほぼ新品ですね。
バッテリーの最大容量は91パーセントでした。これはAppleストアにいけばバッテリー交換できるので、問題なし。

税込みで48,800円、送料が640円。
合計金額が49,440円です。

また、データ移行の前にiPhone 6sのSIMロックを解除しておきました。
ドコモストアに行くと手数料(税込3,300円)がかかるらしく、ドコモストアで聞いたところネットやったほうが早いし無料、ということでやってみました。

「SIMロック解除は自分でできる! キャリア別の条件と解除方法を徹底網羅!」
https://www.soldi.jp/articles/method_of_sim_unlock/

上の記事を参考にしました。dアカウントが必要ですが、dマガジンやdアニメを利用していた事があったのでそのアカウントで行えました。
dアカウントにログイン。IMEI番号を入力して「解除する」とするだけです。
https://www.nttdocomo.co.jp/mydocomo/

検索窓で「SIMロック解除」と検索すると設定画面が出てきます。

次にバックアップ手順をサクっと解説。

・バックアップ(データ移行)してiPhoneを動かす手順

まずは、Windows10のiTunesとiPhone6s/iPhoneXRのiOSをすべて最新にしている必要があります。

①iPhone6sの完全バックアップをWindows10のiTunesで作成する。
(Windows10のiTunesで作成。iPhoneのバックアップを暗号化、にチェック。自動同期はOFFに設定。)
注意点は暗号化されたデータを復元するときにパスワードが必要になるので「バックアップ暗号化用のパスワード」を忘れないようにしましょう。これは自分で設定します。

過去に同様のことをしている場合は、一番最初に設定した暗号化パスワードが必要になります。
どこかにメモしておきましょう。
このパスワードを忘れると、再設定が出来ないようなので、注意しましょう。
http://iphone.f-tools.net/Trouble/iPhone-Backup-Password.html

僕も忘れかけてしまっていたのですが記憶の奥底から引き出しました。

②LINEの引き継ぎ設定をONにする。
(36時間以内に引き継ぎする)

③iPhone 6sからSIMカードを取り出し、iPhone XRに取り付ける。
(SIMロック解除をしていない場合は、この作業をする前にiPhone6sのSIMロック解除をしましょう)

④iPhone XRを起動。パスコードの設定などをします。

「新しいiPhoneとして設定」ではなく、既存のバックアップデータから設定、のような項目を選び、「Appとデータ」の画面で「Appとデータを転送しない」を選びます。
すると、空のデータでiPhoneのホーム画面まで行けるようになるので、そこからiOSを最新にします。Wifiに繋ぐ必要があるのでWifiのパスワードを用意しましょう。

⑤Windows10とiPhone XRを繋ぎ、iTunesでバックアップを復元する。
「iPhoneを探す」はOFFにしておく必要があります。

⑥iPhone XRのほうでLINEの引き継ぎ設定をする。

⑦構成プロファイルをインストールし直す(格安SIMの場合)
格安SIMの場合は、新しいiPhoneのほうでネットワーク設定をし直す必要があります。
「〇〇(会社名) iPhone プロファイル 」で検索すると出てくると思います。

mineoの場合は
https://support.mineo.jp/setup/guide/ios_network.html

コチラを参考にどうぞ。

「設定」>「一般」>プロファイル
の構成プロファイルというものがあるのでまずは「プロファイルを削除」
をします。
そのあとに上のURLから新しいプロファイルをインストールします。

インストールの方法は、ファイルをダウンロードしてから
「設定」>「一般」>プロファイル
に行けば「インストール」という表示が出てくるので、それを押すだけです。

⑧最後にiPhone XRの「iPhoneを探す」をONにすれば完了
です。

アップデート等に地味に結構時間がかかるので、暇な日の午後などにやると良いかもしれません。

(なんだかんだ色々インストールし直したり調べたりするので、3時間くらいかかりました)

あとは、iPhoneに触ると勝手にホーム画面がつくという挙動があったので

こちらで解決しました。

ログインし直す必要があったアプリ
・YouTube
Google系は、1つにログインすると他のすべてにログインしている状態になるようです(?)

・PUBG
PUBGはログインしたらグラフィックの設定なども前の端末のものと同じでした。

・Kindle
Kindleもログインする必要がありました。Amazonのパスワードです。
ただ、こちらは自動パスワード候補が出てきたので、実質何も入力していないです。

ログインし直す必要のなかったアプリ
他のアプリはほとんどログインした状態でデータ移行出来ています。凄い。
TikTok、Twitter、Facebook、Pixiv、discord、Mixchannel、ジモティー
など、メジャーなアプリからマイナーなアプリまで、ほぼすべて最初からログイン状態になっていました。

・iPhone XRの第一印象
横画面にしたときにステレオスピーカーになるのがとても良いですね。
iPadの必要性が少し薄れました。
あとはキーボード英語入力がとてもしやすいです!この画面サイズはアリですね。
この画面サイズでAppleペンシルが使えたら最強だな、と思いました。

iPhone自体は「もっと早く買い替えておけば良かった」というのが正直な第一印象です。当たり前かもしれませんが新しい製品は良いですね。
ただ、軽い処理でもちょっと熱を持ちすぎるのが気になっています。

『この空の下で』というミク曲を投稿しました!春っぽい新曲が出来たので、投稿する過程を記したブログ。

初音ミクで『この空の下で』という曲を作りました。

Cubaseをカチカチいじっていたらメロディが出来て、ベースをつけてドラムをつけて、コードを付けたら良い感じになりそうだったので作っていった感じです。歌詞も割とすんなりと決まりました。

今回は終わりの部分のピアノ以外は割と打ち込みが多いですね。(でもよく考えたらコード進行やストリングスはリアルタイム鍵盤ですね…)

・今回の曲作りの順番の話

メロディとベースが今回は打ち込みです。

メロディを、最初にピアノでなんとなくポチポチ打ち込んで遊んでいたところ、進行が歌メロになっていたのでミクさんに歌ってもらった感じです。
歌詞はメロディが出来た時点で打ち込みました。

記憶が正しければそのあとにベースとドラムをつけて、そのあとに伴奏のコード(ピアノ)を付けました。ストリングスはコードを付けた後に付けたと思います。

そして、さらにその後にサビの部分の右アコギ左エレキギターを足していった感じですね。

Bメロにしか出てこないピアノの装飾は一番最後に付けました。

・公開する際の話

イラストは色々とピアプロを回った結果、爽やかな春っぽいイラストでU35さんのイラスト『2016.3.9』をお借りしました!

動画はAviUtlで作成です。

https://piapro.jp/t/F-g7

2021年4/2、さっそく、YouTubeに9時ごろに投稿準備、ニコニコ動画にも投稿準備。

ちなみに、実は最後の一瞬だけ歌詞を一部変更しようか迷ったのですが、当初のものでいくことにしました。

投稿すると決めたら、もう悩まず決定しなければいけませんね。やはり予告は大事。

こちらがYouTube

 

こちらがニコニコ動画です。

さらに、今回bilibili動画にも投稿してみました。
DeepL翻訳を使いながら動画紹介文を作成です。

https://www.bilibili.com/video/BV1CK4y1N7yc

紹介ツイートはコチラ。

なんとか久しぶりの投稿、無事完遂です。

視聴、RTとイイネをしてくださった皆さん、そしてU35様、どうもありがとうございます!

Windows10 ProでDockerを使ってみる。Docker Desktop for Windows。【メモ】

Dockerを使ってみようと思います。

キッカケになった動画がこちら。

ちょっとやってみようかな、という気になりました。

まず、公式からDocker Desktop for Windowsを入れます。

Windows10のHyper-Vというのをオンにします。「Windowsの機能の有効化または無効化」とWindows10の検索窓で打つと、設定画面が出るはずです。そこから「Hyper-V」を探しましょう。

「Hyper-V」をオンにすると、パソコンの再起動が必要なのですが、このとき軽くエラーが出ます。

Cubaseを入れている場合は、パソコンを再起動するとSteinbergのSoft-elicenserまわりでエラーが出るので、eLicnencer Control Centerを起動して、メニューの「操作」タブから「修復」を選び、きちんと動くようにします。

そうしたら、Dockerを起動します。アプリなので、普通に起動。
Windows検索窓で「Docker」と打つと、「Docker Desktop」というのが出てきます。
それを実行。

・Dockerfileから仮想環境を作る。

Docker Desktopは実行した状態で、PowerShellを起動します。
プロジェクトの場所に行き、

docker-compose up -d

というコマンドを打つと、仮想環境が作られ、バックグラウンドでコンテナが実行されます。

参考『docker-compose run, up, build, createの違い。それぞれの役割を知る。 – Qiita』
https://qiita.com/yuta-38/items/29facbe3f236bf250651

 

以上でDockerの仮想的なLinuxによりプロジェクトが動いている状態になったので、プログラムを書いていけばOKのようです。

こちらのYouTubeの解説が分かりやすいです。

これで、Dockerで仮想環境が作成されたので、あとはその環境(コンテナと言います)を起動させて仮想環境のLinux上でコマンドを打ち、そこに何かを入れても良いでしょう。

Pythonのrequirements.txtがある場合は
pip install -r requirements.txt

でパッケージをインストールです。

ちなみにコンテナの起動や停止、コンテナ内に入るコマンドプロンプトの起動、コンテナの削除などは、Docker Desktopアプリからボタンを押すだけで可能なので、コマンドを打つ必要は無いようです。

かなり便利ですね。

・Docker環境のデータベースにWindows10のデータベース接続クライアントから接続する

Windows10のデータベース接続クライアントからDockerの仮想環境内のデータベースに接続出来ました。Heidi SQLというデータベース接続クライアントを使いましたが、特に特別な設定は不要で、仮想環境を実行中にWindows10から仮想環境のLinuxのMySQLに接続できました。
ここまで出来れば、もう何でも出来る感じがします。

こちらの記事が役に立ちました。

プログラムは通常のWindows10でコーディングをして、実行は仮想環境のLinux(Windows10で作ったdockerのフォルダがそのままLinuxのフォルダに相互反映されます。

ここが不思議なところですが、仮想Linux上でフォルダを作ったりファイルを変更してもWindows10のファイルも変更されますし、Windows10のdockerプロジェクトで同じことをしても、仮想Linux上で反映されます。

これがdockerの凄いところですね。実行だけ仮想Linuxで、編集などは既存のWindows10の環境(VS Code)などが利用できる感じです。

 

こちらの動画の、Dockerをゲームのセーブデータに例える説明がとても分かりやすかったので、参考にしてみて下さい。

ニトリのワークチェア(約5年使用)がギーギーうるさかったので油を注したら新品同様、異音がしなくなったお話。

どうも、りーずです。

最近、昔購入したニトリのワークチェア(確か2015年前後に購入)が、ギーギー音を出すようになりました。

(ツイート、誤字ってますね…)
そこで、ツイートにもあるように

こちらを購入し、異音がする部分にスプレーしてみたところ、全く音がしなくなりました。
これはマジです。今まさに喜びに浸っています。危なく(同じ)椅子を買い替えるところでした…

ということでこれをシェアすべく、詳しく書いていきたいと思います。

ちなみに、シリコンスプレーと、グリススプレーという二種類があるのですが、長期ではグリススプレーが良い、とのことで今回こちらを購入しました。


・異音がしていた時はどういう感じだったか。

これは動画を録っておきました。今となっては動画を録っておいて良かったと思います。
全く音がしなくなったら、検証できませんからね。

このような感じです。※不快なギシギシ音が鳴るので、ご注意下さい。

かなり異音がひどいのがお分かりになるでしょうか。

少しずつ異音がひどくなり、なかなか作業に集中しにくくなり、とても困っていました。

・スプレーをした後

それが、上記で購入したグリーススプレーを使うと、(といっても色々と試行錯誤したのですが)こうなりました。

 

 

全く音がしなくなり、音的には新品同様になりました。座ってももちろん全然音がしません。驚きです。

・スプレーをする箇所がかなり重要。

今回、油を注した場所が良かったと思います。
原因といいますか、音の出る位置がなんとなく分かり、そこにスプレーしました。

今回のスプレーは、非常に細い針のようなノズルが出ているので、かなり細かい部分に狙い打ちができます。

「怪しい」と踏んだのは、この部分です。写真をまずはご覧ください。

ワークチェアを斜め後ろから見た図。

ワークチェアを斜め後ろから見た図。

ここの、赤で丸をしたシルバーの部分の内側に棒があるのですが、(上の写真の部分にスプレーするわけではないです)

真後ろから見た図。金属棒が見える。その両端にスプレー。

真後ろから見た図。金属棒が見える。その両端にスプレー。

後ろから見るとこのような感じです。ここにスプレーします。

ちょっと見づらいのですが、金属棒があります。その両端の2か所にスプレーをします。
ギーギーいわせると、明らかに接触している感じだった、金属棒の左右の接続部分です。
ちょうどこの写真のアングルのように、椅子を後ろから見て、そのままスプレーです。

実はこの写真の穴の手前側にロッキング用の棒と機構もあるのですが、それは関係ないので、ロッキングのノブを回して、写真のように見通せるようにしながらスプレーします。

左右それぞれに2、3回スプレーをすると、全く音がしなくなりました。

ちなみにそのほかにも
・上の写真の奥にある支柱のような棒
・椅子の前側にあるロッキング固定部分の金属棒

にもスプレーしました。

椅子の前側にあるロッキング固定部分。

椅子の前側にあるロッキング固定部分。

 

一番効果があったのが、最初に説明した金属棒の両端の部分です。

お使いの椅子によってポイントが違ってくると思いますので、色々と探してみて下さい。

・使っている椅子

ちなみに、僕の使っているワークチェアはこれです。

「ワークチェア(クロウド MC BK) – ニトリ」
https://www.nitori-net.jp/ec/product/6620763s/

上のリンク、パソコンからだと2回クリックしないと製品ページが出ないようです。なぜだ…
全く同じ製品の場合は今回のポイントも同じだと思いますので、参考にしてみて下さい。

※一応、今回の方法は公式の方法ではありませんので、自己責任でお願いいたします。

・スプレーをするときの注意点など

また、スプレー自体は灯油のような成分のようです。
スプレーをするときと、したあとはかなり臭くなります。(しばらくすると臭いは無くなります)
必ず換気をして、窓を開けた状態で作業をして下さい。

スプレーをする瞬間も、一瞬息を止めていたほうが良いと思います。スプレーをしたらすぐ離れましょう。

 

椅子を長く使うとギシギシいうようになりますが、こんなに簡単に直るとは思いもしませんでした。

ということで、何かの参考になれば幸いです。

こちらが今回買ったスプレーです。探した中ではおそらく一番安くて早く届きます。

快適なデスク時間をお過ごしください!


※AmazonのリンクはAmazonアソシエイトを使用しています。