Dockerでのmysql利用時の注意

Dockerでmysqlを利用する際にはまったこと。 Dockerfile等で初期データを流し込みたい場合、mysqld_safeを「バックグラウンド」で起動しておいてmysqlコマンドで流しこみを行うのだが、 nohup mysqld_safe & mysql -u root < init.sql のように実行してしまうと、 mysqlサーバが起動する前にコマンドが帰ってきてしまうため2行目で「mysql.sockがない」という旨のエラーが返ってきてしまう。 このような場合、1行目の後に以下のようなループを噛ませるとうまく行くはず。(bashの場合) nohup mysqld_safe & for {1..10}; do if [ -e /var/lib/mysql/mysql.sock ]; then break fi sleep 1 done

<span title='2016-02-09 01:00:00 +0900 +0900'>February 9, 2016</span>&nbsp;·&nbsp;1 min&nbsp;·&nbsp;tack41

VPSのCentOS7にRails環境構築

さくらのVPS上にCentOS7.0でRails環境を構築したのでそのメモ。 一般ユーザーにて、必要に応じてsudoをかませて実行。 ユーティリティプログラムをインストール git clone https://github.com/sstephenson/rbenv.git ~/.rbenv git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile echo 'eval "$(rbenv init -)"' >> ~/.bash_profile exec $SHELL 必要なパッケージのインストール $ sudo yum install libffi-devel zlib zlib-devel openssl openssl-devel readline-devel sqlite-devel ruby 2.2.0をインストール rbenv install 2.2.0 rbenv global 2.2.0 railsをインストール gem update --system gem install --no-ri --no-rdoc rails gem install bundler rbenv rehash rails -v 動作確認 rails s -b 0.0.0.0

<span title='2015-08-09 00:00:00 +0900 +0900'>August 9, 2015</span>&nbsp;·&nbsp;1 min&nbsp;·&nbsp;tack41

ESXi 5.1.0上でWin2012 Hyper-Vがインストールできない

VMware ESXi .5.1.0上で検証目的のためにWindows 2012 StandardをインストールしてHyper-Vの役割を追加しようとすると「すでにインストールされています」と表示されてしまう。VMware Toolsをアンインストールしてもだめ。 そういうもんなんかなぁ。 ESXi on VMware Playerは昔動いた記憶があるんだけど、Hyper-V on ESXiは無理なのか?

<span title='2013-05-06 00:00:00 +0000 UTC'>May 6, 2013</span>&nbsp;·&nbsp;1 min&nbsp;·&nbsp;tack41

FreeNAS8.3.1でiSCSI target

オープンソースでiSCSIターゲットを実装可能なFreeNASを利用し、Windows 2012より利用する。 1. 初期設定 FreeNAS 8.3.1のインストール CPU: i5 2405S 1c MEM: 1GB Disk1: 30GB(OS Install) Disk2 :10GB(iSCSI Volume) CUIにてNWアドレスを設定 2. iSCSI targetの設定 WebUIにてアクセス ボリュームの追加 [Volume]-[Volume Manager]にてボリュームを追加する。 上段[Servies]-[Core]にてiSCSIをオンにする iSCSIポータルの設定 [iSCSI]-[ポータル]を選択し、アクセス制限を設定する(ここではオールOKとした) Initiatorの許可 [iSCSI]-[Initiator]で接続元のInitiatorを制限する(下図では制限なし) ポータルの追加 [iSCSI]-[Portal]を選択し、ポータルを追加する(下図では全アクセスを許可) Initiatorの設定 [iSCSI]-[Initiators]よりInitiatorのアクセス制限をかける。下図では制限なし。 ターゲットの追加 [iSCSI]-[Targets]を開き、[Add Target]ボタンをクリック すべて入力して[OK]をクリック。 ターゲットにエクステントを追加 [iSCSI]-[Associated Targets]を開き、[Add Extend to Target]をクリックする これまで入力した内容を入力する WindowsやLinuxのiSCSI initiatorから接続できることを確認。

<span title='2013-05-04 00:00:00 +0000 UTC'>May 4, 2013</span>&nbsp;·&nbsp;1 min&nbsp;·&nbsp;tack41

Windows Server 2012でiSCSI target (2)initiator側

[管理ツール]-[iSCSIイニシエーター]を起動 初回はサービス起動確認のダイアログが表示されるので[はい]をクリック [ターゲット]にiSCSI TargetサーバのIPアドレスを入力して[クイック接続]をクリック Targetが認識されているのを確認し、[完了]をクリックする。 [ディスクの管理]にて作成したディスクが認識されていることを確認する。

<span title='2013-04-19 02:00:00 +0900 +0900'>April 19, 2013</span>&nbsp;·&nbsp;1 min&nbsp;·&nbsp;tack41