Azure

Microsoft Azure でDockerはじめちゃいますか?

じゅんくどうです。
本投稿は「Azure Advent Calender 2014」12月7日分の投稿になります。Azure Advent Calender 2014は各人が12月25日まで思い思いにAzureについて投稿するイベントです。今回は、(たぶん)Microsoftも注目しているDockerについて書きます。

MicrosoftとDocker

最近、Microsoft界隈の方も「Docker」という言葉を頻繁に耳にすると思います。そう、10月15日にDocker社と提携したという発表があったためです。また、スコットガスリー氏のブログで、次期Windows ServerでDockerをサポートするとともに、Docker Hubとの統合も行えるようにすると書かれています。これによってWindows でもDockerが動くということになり、Windows、Linuxという壁を越えてDockerを扱えるようになります(なるはずです)。

現状、WindowsがサポートしているのはDocker Clientです。Docker ClientはAPI、コマンドラインによる操作が可能となります。

AzureでDockerを使ってみる

AzureでDockerを使う方法として2つ。
– Linuxインスタンスを立ち上げてDockerをインストールする。
– 用意されたCoreOSイメージを利用する。

前者はapt-getやyumでインストールして利用しようって感じです。
後者は仮想マシンで用意されているCoreOS利用する方法です。
前者については真新しいものでもないので、今回は後者の方法を見ていきたいと思います。

では、最初にAzureポータルから仮想マシンを作成。CoreOSイメージを選択しましょう。
おっと、2つイメージが表示されます。何が違うのか確認してみましょう。
DockerとCoreOSのバージョンを調べてみました(2014/12/03時点)

①CoreOS Alpha

②CoreOS Beta

Dockerのバージョンは、1.3.2と同じものになります。
CoreOSのバージョンがAlpha版は509.1.0、Beta版は494.1.0となります。
Alphaの方が最新版になるくことに注意しましょう。

さて、実際にイメージを選択しインストールしていきます。
Alpha版をインストールします。
仮想マシンの作成方法は変わりませんので、適当に入力/選択します。

ここも一緒です。

拡張機能は使えないのでそのまま進めましょう。
将来的に、Deep Security Agentが使えるといいなぁ(願望)

はいこれで完了です。
簡単ですねーーー。

ではログインしてみましょう。
・・・・それでは、面白くないのでDocker CLI for Windows Clientsを使ってみます。
Docker CLI for Windows Clientsは「Connect();」でもデモ公開されました。

Docker CLI for Windows Clientsを利用するには、githubで公開されているソースから、Windowsでコンパイルして利用する方法があります。コンパイル方法については「How to compile Docker on Windows」で公開されています。

上記のサイトを参考(超超超訳)で進めていきます。

事前準備としてAzure上にWindows Server 2012 R2を立ち上げましょう。
Dockerと通信が行える場所に配置しましょう。

Step1:Goをインストールします。

Goのインストーラをgolang.orgよりダウンロードます。インストールするとコマンドプロンプトで利用できるようになります。

バージョン確認

Step2:コードをチェックアウトします。

Gitをインストールします。

次にdocker/cockerレポジトリよりCloneします。

実行結果

Step3:コンパイル!

簡単です。コマンドプロンプトより次のコマンドを実行します。

実行結果

全て完了したら、愛しのdocker.exeがディレクトリにできています♡

実行結果

バージョンの確認

Dockerをリモートで操作する方法としてRemote APIを使います。
そのためにCoreOS側でSocketを作成する必要があります。

CoreOS側にログインしてsocketを作成します。
docker-alpha ~ # vi /etc/systemd/system/docker-tcp.socket

ポート2375で待ち受けするようにSocketを作成します。

Dockerを再起動します。

ポート2375で動作しているか確認します。

問題ないようです。
ではWindows側で確認してみましょう。

…ウップ
APIのバージョン違うぞって怒られた。

あれ?CoreOS + Docker CLI for Windows Clients on Azureは・・・ムリポ?

今回は時間がないのでここまで!まぁ通信できているからいいか(w
Dockerからブランチ指定してCloneしたらBuildできないorz
CoreOSではなくUbuntuとかにインストールすればDockerも1.16つかえるので大丈夫です。
CoreOS・・・・・

おまけ

それでもWinodwsで夢をみる

じゃWindowsでDocker使いたいよって人の為には!
boot2dockerを利用するのが簡単かな?

では早速、Azure でWindows7を起動させて・・・ちょっとまって!boot2dockerは、AzureやHyper-vで起動しません。

なぜかって?

boot2dockerはVirual Box上で起動する仕組みになっています。そして64bit対応である必要があります。
Virual BoxがAzure上やHyper-v上で64bitで動作しないのでムリポ。(ここら辺、詰めて検証していないのであとでやってみます。)

では、boot2dockerを動作させるためにはどうしたら良いか?実機を使いましょう(w
boot2dockerはこちらのサイトよりダウンロードできます。
ドキュメントはこちら

ダウンロードしてきたdocker-install.exeを走らせインストールを開始します。

インストールが完了したらデスクトップ上に「Boot2Docker Start」というショートカットができます。
起動しましょう。

バックグラウンドでは、Virual Boxにマシンイメージが作成され起動されます。
そして自動的に、sshで接続されます。

これで使えますね。

さー確認してみましょう

APIのバージョンが一緒なので大丈夫!
確認ができましたね。

以上で今回のdocker特集は終了。
でわでわ

Related post

  1. AWS

    CLR/H in TOKYO #7 ~カソウ化デイ~

    12/20に開催されたCLR/H in TOKYO #7 ~カソウ化デ…

  2. Azure

    Active DirectoryをASMからARMに移行する方法を考える。

    はじめにくどうです。何かと仮想マシンでActive Dir…

  3. Azure

    Azureのアラートって簡単にPagerDutyと連携できるんです。そっからSlackとも連携できる…

    はじめにくどうです。Azureではアラートの設定がポータルから…

  4. Azure

    Azureのシンボルをpngに変換してみた。I converted the symbol of Az…

    どうも、くどうです。Azureのシンボルは提供されています。しかし…

  5. Azure

    Azure Active Directoryを削除する。なんか消えないんすけど。

    はじめに今回はAzure Active Directory(以下A…

  6. Azure

    Windowsの仮想マシンを作成時に拡張機能を追加できます。

    はじめにくどうですWindowsの仮想マシンを作成する時に…

  1. AWS

    EC2のリソースIDが長くなります。
  2. Azure

    リリース前にリソースはLockしようぜ。間違って削除したらおバカです。
  3. 未分類

    「Virtual Server 2005 R2」にFedora 5 をインストー…
  4. 未分類

    LPIC Level3を受験しよう
  5. Azure

    Azureのシンボルをpngに変換してみた。I converted the sy…
PAGE TOP