概要
Creators Updateによって、Bash on Ubuntu on Windows (BoW) へ chroot
を使ってUbuntuのコンテナを作成できるようになりました。ここでは、その手順を説明します。
※この記事の内容は、過去のエントリ(Bash on Ubuntu on Windowsのchrootを試してみた - くんすとの備忘録)の一部を切り出し一部修正を加えたものです
セットアップ手順
手順は1~5まであります。
1. 必要なパッケージのインストール
1
|
# apt install debootstrap
|
2. debootstrapを使ったUbuntu環境のダウンロード
違いがわかりやすいように、XenialではなくVividを入れます。
1
|
# debootstrap vivid /srv/chroot/vivid http://ftp.riken.go.jp/Linux/ubuntu/
|
3. resolv.confのコピー
1
2
|
# cp -L /etc/resolv.conf /srv/chroot/vivid/etc
|
4. デバイスのマウント
bashの全ての窓を閉じると設定し直しになるので注意
1
2
3
4
|
# cd /srv/chroot
# mount -t proc none vivid/proc
# mount -t sysfs none vivid/sys
# mount -o bind /dev vivid/dev
|
5. ログイン
1
|
# chroot /srv/chroot/vivid /bin/bash
|
確認・検証
uname
コンテナの外側
1
2
|
# uname -a
# cat /etc/lsb-release
|
コンテナの内側
1
2
|
# uname -a
# cat /etc/lsb-release
|
ということで、Ubuntu(Vivid)のコンテナ環境が作成されたことがわかります。
アプリケーションを入れてみる
リポジトリの追加
1
2
|
# sed -i.BK 's/$/ restricted universe multiverse/' /etc/apt/sources.list
# apt update
|
Gitのインストール
軽く動作検証
1
|
git clone https://github.com/vuejs/vue.git
|
OK
Rubyのインストール
軽く動作検証
1
|
# ruby -e 'open("/etc/lsb-release").readlines.collect{|l| puts l.downcase}'
|
OK
Node.jsのインストール
軽く動作検証
1
2
3
|
# nodejs -e 'var fs = require("fs"); fs.readFile("/etc/lsb-release", "utf8", function(err, text) {
console.log(text.toLowerCase())
})'
|
参考URL