2018年11月23日金曜日

Windows の Hyper-V で、Docker を利用するために軽量なOS Alpine Linux をインストールする手順
はてなブックマーク - Windows の Hyper-V で、Docker を利用するために軽量なOS Alpine Linux をインストールする手順 このエントリーをはてなブックマークに追加

やりたいこと

Docker を利用するサーバを作成するため、Windows の Hyper-V に、Alpine Linux をインストールをしたいと思います。
Alpine Linux はとてもシンプルで軽量となっています。
※ iso のサイズ
  • Alpine Linux : 約100MB
  • Ubuntu Server : 約800MB
Docker の image サイズを小さくするためにも利用されています。

サーバで動かすアプリケーションはすべて Docker内で動かすため、Alpine Linux を選択しました。

インストール

Apline Linux のダウンロード

Alpine Linux のサイトの DOWNLOADS からダウンロードできます。
https://alpinelinux.org/downloads/
今回は STANDARD を選択しました。

 Hyper-V で Apline Linux の仮想マシンを作成

  1. 仮想スイッチの作成
    作成する仮想マシンがインターネットと通信できるようにするため、外部と接続できる仮想スイッチを作成します。
    右にある「仮想スイッチ マネージャー」を押します。
    1. 「新しい仮想ネットワーク スイッチ」を押し、「外部」を選択して仮想スイッチの作成します。
    2. 「名前」はわかりやすい任意の名前を付けます。
      今回は「外部スイッチ」にしました。
      「接続の種類」で「外部ネットワーク」を選択し、接続するネットワークを選択します。
      作成した仮想環境はホストOSの Windows から接続するアプリケーションを入れることもあるため、「管理オペレーティング システムにこのネットワーク アダプターの共有を許可する」にチェックを入れておきます。
    3. 設定が完了したら「OK」を押し、作成を完了します。
  2. 仮想マシンの新規作成
    Hyper-V マネージャーを開き、ローカルコンピューター(画像だと「DESKTOP-l4UI9VH」)を右クリックし、新規の中にある仮想マシンを選択
  3. 仮想マシンの新規作成ウィザード
    1. 名前と場所の指定
      仮想マシンの「名前」は用途が分かりやすいように任意の名前を付けます
      仮想マシンの格納場所は、デフォルトと違う場所に置きたい場合にチェックを入れてフォルダを指定します。
    2. 世代の指定
      利用している Windows が 64bit なので、第2世代を選択します。
    3. メモリの割り当て
      仮想サーバに割り当てるメモリを設定します。
    4. ネットワークの構成
      先ほど作成した「外部スイッチ」を選択します。
    5. 仮想ハード ディスクの接続
      「仮想ハード ディスクを作成する」を選択します。
      各設定項目は任意の値に変更して問題ありません。
    6. インストール オプション
      ダウンロードした iso を使って Alpine Linux をインストールするため、「ブート イメージ ファイルからオペレーティング システムをインストールする」を選択し、ダウンロードした iso を指定します。
    7. 要約
      最後に設定した項目の一覧が表示されるので、「完了」を押します。
    8. 作成完了
      仮想マシンの一覧に作成したマシンが表示されます。
  4.  仮想マシンの設定
    デフォルト設定ではインストールできない状態になっているため、設定を変更します。
    1. ファームウェア
      ブート順をハードドライブを優先するようにしておきます。
    2. セキュリティ
      このままではOSをインストールすることができないため、「セキュア ブートを有効にする」のチェックを外しておきます。
    3. 設定の保存
      「OK」を押して設定を保存します。

 Alpine Linux のインストール

作成した仮想マシンに Alpine Linux をインストールします。
  1. 作成した仮想マシンを右クリックして「接続」を押します。
  2. 仮想マシンに接続するコンソールが表示されるので、起動を押します。
  3. 設定した iso からインストールするための OS が立ち上がるので、root でログインします。
  4. 「setup-alpine」コマンドを用いてインストールのウィザードを開始します。
    設定項目は以下
    項目名設定値説明
    Select keyboard layoutjp利用するキーボードのレイアウトです。
    Select variantjpこちらも利用するキーボードの設定です。
    Enter system hostname (short form, e.g. 'foo')localhost(デフォルト)インストールするシステムのホスト名です。今回はホスト名を特別利用しないため、localhost としました。
    Which one do you want to initialize? (or '?' or 'done')eth0(デフォルト)直前に利用可能なインターフェースが表示されるので、利用するインターフェースを選択します。
    Ip address for eth0? (or 'dhcp', 'none', '?')dhcp(デフォルト)インターフェースの IP アドレスの決定方法を決めます。今回は dhcp で自動割り当てとしました。
    Do you want to do any manual network configuration?no(デフォルト)ネットワークの設定を手動で行うかどうかです。
    New password(パスワードを設定)root のパスワードです。
    Retype password(パスワードを設定)root のパスワードの確認です。
    Which timezone are you in? ('?' for list)Japanサーバのタイムゾーンを設定します。
    HTTP/FTP proxy URL? (e.g. 'http://proxy:8080', or 'none')none(デフォルト)http/ftp のプロキシの設定をする場合はURLを入力します。
    Enter mirror number (1-43) or URL to add (or r/f/e/done)1パッケージを取得するミラーのURLを選択します。f を入力するとすべてのミラーをチェックし、レスポンスが早いサーバを選択してくれますが、時間がかかるため cdn を利用する 1 を選択しました。
    Which SSH server? ('openssh', 'drophear' or 'none')openssh(デフォルト)利用する ssh サーバを選択します。
    Which NTP client to run? ('busybox', 'openntpd', 'chrony' or 'none')chrony(デフォルト)利用する NTP クライアントを選択します。
    Which disk(s) would you like to use? (or '?' for help or 'none')sda利用するディスクを選択します。直前に利用可能なディスクが表示されています。
    How would you like to use it? ('sys', 'data', 'lvm' or '?' for help)sys先ほど選択したディスクの用途を選択します。OSインストールするので sys を選択します。
    WARNING: Erase above disk(s) and continue?y選択したディスクをOSインストールするため内容を削除していいかの確認です。

  5. すべての設定を入力するとOSがインストールされるので、完了したら再起動してインストールしたOSを立ち上げるため、reboot します。
  6. 再起動が完了し、root ユーザで設定したパスワードを入力するとログインできます。
以上でインストール完了となります。