スポンサーリンク

2015年5月29日

あなたはWindows環境で実行しますか?それともLinux環境で実行しますか?

タイトル:あなたはWindows環境で実行しますか?それともLinux環境で実行しますか?

目的:Boot2Dockerを入れてLinuxの実行環境を手に入れたい(がうがう)。

実施環境:
OS:Windows8.1
Boot2Docker:v1.6.2

目次:

  1. Boot2Dockerことはじめ
  2. アップグレード

あらかじめ、Boot2Dockerはインストールしておいて下さい。
Boot2Dockerは以下のサイトにある。

インストールはポチポチしていくだけなので特に難しいことはないかと思います。
自分の場合、既にGit入っていましたので、インストール時にはGitの項目だけはずしました。

1.Boot2Dockerことはじめ

1.1
よし、インストールが終わったな!
じゃあ、起動しよう。(スタートメニューもしくはデスクトップのアイコンを起動)

「この種類のファイル(.sh)を開くにはどのアプリを使いますか?」

くじらさんが出てこない!?
えっ?ここらへんよしなにしてくれるために起動用のものがあるんじゃないの?
っと思ったが仕方がないから、一覧からコマンドプロンプトがないか探した。

ねぇよ!!
やりたいのはプログラムなのになんでこんなにも前段階で躓きまくってんだよ!

仕方がないからコマンドプロンプトを開き、
Boot2Dockerのインストールフォルダに移動する。
(まじで、クマリア様助けて下さい・・・まじで・・・)

1.2
そして、以下のコマンドを実行した。
コマンド:boot2docker.exe init

(いきなり、startで実行しようとしたけど、initせーやってな感じなこと言われたので)

1.3
次に、以下のコマンドを実行した。
コマンド:boot2docker.exe start

1.4
おぉ!VirtualBox見るとboot2dockerが起動してる。

でも待って、コンソールでもGUIでもいいんだけど、操作画面がなくね?
それに、くじらさん出てきてなくね?(これ重要)

とりあえず、一旦落とす。
コマンド:boot2docker stop

1.5
VirtualBoxからboot2dockerを起動してみる。
今度こそキタ━━━(;´Д`);´Д`);´Д`);´Д`);´Д`)━━━━!!!

くじらさんこんにちは!

2.アップグレード方法

公式ドキュメントに書いてあるけど、あえて書く。

2.1

  1. Boot2Dockerの最新版を落としてね
  2. Boot2Docker管理ツールを更新するインストーラを実行してね
  3. 既存の仮想マシンをアップグレードするには、ターミナルを開いて以下のコマンドを実行してね
  • boot2docker stop
  • boot2docker download
  • boot2docker start

このブログ見るより公式見た方が確実だけどな。

管理人は英語アレルギーなのでw
英語を見ると鳥肌が立ちますゆえw
(英語苦手だし・・・)

あなたはWindows環境をあきらめますか?
それともLinux環境をあきらめますか?

私は、Linux環境をあきらめない!!

Linux環境(百合)承認!!

以上!こうして私のLinux環境(Boot2Docker)は承認された!!

ってか、まだイメージを読み込んだりやることいっぱいあるんですけどね!!!!
ここにいっぱいあるみたいですよ。
https://registry.hub.docker.com/

とりあえず必要な環境は、
Ruby(各種gem)、MongoDBくらいかな。

しかし、思うんだが、Boot2Dockerはコマンドプロンプトからよしなに使えるものじゃないのか?
やり方が間違ってる気がする。

以下、参考にさせて頂いたサイト様

追記(同日)
コマンドプロンプトからdockerコマンドやboot2dockerできた。
だが、dockerコマンド使うとエラーが出るので直す。

例えば、「docker search ruby」と打つと以下のようなエラーが出てくる。

エラー内容:
FATA[0000] Post http:///var/run/docker.sock/v1.18/containers/create: dial unix /
var/run/docker.sock: An address incompatible with the requested protocol was use
d.. Are you trying to connect to a TLS-enabled daemon without TLS?

もしくは、「docker version」と打つと以下のようなエラーが出てくる。
エラー内容
FATA[0000] Get http:///var/run/docker.sock/v1.18/version: dial unix /var/run/doc
ker.sock: An address incompatible with the requested protocol was used.. Are you
 trying to connect to a TLS-enabled daemon without TLS?

環境変数が設定されてないためと思われる。
実際に起動時などに以下のような文言が表示されているはず。

文言:
To connect the Docker client to the Docker daemon, please set:
If you are running inside Windows Command Prompt (cmd.exe), copy and paste the
following commands to your terminal to set the environment variables:
    set DOCKER_HOST=tcp://IPアドレス:Port番号
    set DOCKER_CERT_PATH=C:\Users\ユーザ名\.boot2docker\certs\boot2docker-vm
    set DOCKER_TLS_VERIFY=1

※PowerShellの方も出てくるが片方を実施すればよい。

なので、環境変数を設定する。
set~のコマンドをコピペして叩くだけ。

その後、「docker version」などとコマンドを実行して上記エラーが出なければ問題ない。

システムの環境変数で設定してもいいですが、
私の場合、固定回線じゃないことがあるので、
setコマンドを流すバッチファイルでも作成しようかと思います。

というわけで、実際にイメージを使うのは後の記事で・・・

以上!!承認されてなかったので追記まで・・・

追記2(同日)
コマンドプロンプトより実行。
コマンド:boot2docker ssh

上記コマンドを実行すれば、コマンドプロンプトから、
ゲストOSに触れます。(やったね!くじらさんが見れるよ!)

参考にさせて頂いたサイト様
http://ctheu.com/2015/05/17/docker-sous-windows-8-1/

管理人の独り言
そもそも何でこんな状況になっているのかと言うと、
RubyGemsのtweetstreamがWindowsだと動かない!!
何故?どうして?Why???Windows People!?何故動かない!!

エラー内容:

terminate called after throwing an instance of 'std::runtime_error'
  what():  Encryption not available on this event-machine

This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.

何か調べてみると、「event-machine」がssl付きでインストールされてないことが問題らしい?
ので、オプションつけてのインストールとかググってみたけど分からなかった。
(そも、Windowsで動かないんじゃないかと思う・・・)

仕方がないから、
Linux環境を用意しようと思ったのが今回の記事の始まり。
Boot2Docker入れても当初、動かし方分からなかったんだよね・・・

人気の投稿