tkzwhr's notes

tkzwhrの技術、中国語などのメモです。

Hyper-VにLubuntuをインストールしてDockerをセットアップする

2020.08.20 追記
今となっては素直にWSL2をインストールしたほうがあらゆる面で有利です。


以前

tkzwhr.hatenablog.com

にてManjaro Linuxをインストールして運用してきたが、 思いの外Hyper-V環境との相性が悪かったため、おとなしくUbuntu系のディストロを入れ直すことにした。 また、開発のためにDockerを使っていきたいので、合わせてインストールした。

Lubuntuのインストール

LubuntuはUbuntu系ディストロの中でも特に軽量なため、今回選択した。

Hyper-Vの構成は前回Manjaro Linuxをインストールしたときと同じ構成にした。

ダウンロードページ から最新版のDesktop 64bitを選んでisoをダウンロードする。

SCSIコントローラーにDVDドライブを追加し、 仮想ドライブにダウンロードしたisoをセットして起動する。 そのままデスクトップ環境が立ち上がるため、デスクトップにあるCDアイコン(Intall Lubuntu xx.xx LTS)を起動してインストーラを起動する。

基本的にはインストーラの指示に従って進めれば良い。

初期設定

インストールが終わったら、いくつかセットアップする。

aptリポジトリの更新

メインメニューから [設定] > [Software Sources] とたどり、 [Ubuntu Software]タブのDownloadable from the InternetのDownload from: を「日本のサーバ」に変更する。

その後、パッケージのアップデートを行う。

$ sudo apt update && sudo apt upgrade

ディレクトリ名の変更

日本語が使われていると不便なため英語に変更する。

$ sudo apt install xdg-user-dirs-gtk
$ LANG=C xdg-user-dirs-gtk-update

Hyper-V拡張セッション用のツールのインストール

Hyper-Vで使う場合、XRDPでつないだほうが操作性がいいため、 Hyper-V拡張セッション用のツールをgithub/Microsoftからダウンロードしてインストールする。

$ apt install git
$ git clone https://github.com/Microsoft/linux-vm-tools.git
$ cd linux-vm-tools/ubuntu/18.04
$ chmod +x install.sh
$ sudo ./install.sh

RXDPサービスが起動しているか確認する。

$ sudo systemctl status rxdp

正しく起動していないようであればiniファイルを修正する。

$ sudo vi /etc/xrdp/xrdp.ini
- port=3389
+ port=vsock://-1:3389
...
- use_vsock=true
+ use_vsock=false

サービスを有効化する。

$ sudo systemctl enable xrdp

Linuxを再起動する。

次に、Windows側からこの仮想マシンに対してHyper-V側の拡張セッションを有効にする。 PowerShell(管理者)を起動して、下記を入力する。

> Set-VM -VMName '<VMの名前>' -EnhancedSessionTransportType HvSocket

SSH Server

使用に際してデスクトップ環境が不要な場合も多いので、SSHサーバも入れておく。

$ sudo apt install openssh-server

Dockerのインストール

基本的には 公式のマニュアル に沿って進めていけば良い。

info | (2020.05.10追記) add-apt-repositoryで追加するときに | 最新版のLubuntu(20.04 LTS)では、aptにリポジトリを追加する際に、 | | $ lsb_release -cs | ```` | をすると `focal` が返ってきてしまうが、download.docker.comには存在しないので、 | 下記のように直接 `bionic` を指定する必要がある。 | | $ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable" | ```

docker-composeのインストール

aptでは古いバージョン(1.17.1)のものしかないので、githubから直接リリース版をダウンロードして配置する。

$ sudo curl -L https://github.com/docker/compose/releases/download/1.25.1/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
$ sudo chmod +x /usr/local/bin/docker-compose

dockerをsudoなしで使えるようにする

dockerのgroupを作ってそこにログイン中のユーザをを追加するとsudoなしで使える。

$ sudo groupadd docker
$ sudo gpasswd -a $USER docker
$ sudo systemctl restart docker

ここまでやったらLinuxを再起動する。

参考文献