見出し画像

Linux開発日誌:LXDコンテナでGUI

ネットワークの速度がコンテナイメージ1つをダウンロードするのに数時間掛かっていたのを解消できたのと修理に出していたMacが3日で帰ってきてくれたので今日からまたLXDでGUI環境作成を目指します。

Ubuntu20のLXDコンテナイメージからコンテナを1個作成しました。

参考にさせていただいたサイト

https://dream.drivendevelopment.jp/dev-environment/lxd-setup

コンテナは無事に作成できホスト側の公開鍵を転送することもできたのですが

ユーザIDマッピング

まず躓いたのがホスト=コンテナ間のユーザーマッピングです。

最初の計画では、参考にさせていただいたサイトにあるようにプロファイルでコンテナ管理用のユーザーと「同じ名前」の「同じUID」のユーザーをコンテナ作成時に作る設定にしたのですがうまく作成されませんでした。

なので一旦プロファイルでのユーザー作成は諦めて次に挑んだのがIDのマッピング設定です。

lxc config set VMmana raw.idmap 'both 1001 1000'

このように実行するとコンテナ「VMmana」ないのユーザーID1000がホスト側のユーザーID1001にマッピングされるようになるのですが・・・しかしまたうまくいかず・・・

ホストからファイルを転送してもID番号がホストIDのまま転送されてしまいます。

lxc file push ~/.ssh/id_ecdsa.key.pub VMmana/home/ubuntu/.ssh/authorized_keys

ならば手動で!しかし変わらずorz`

如何にもこうにも意図したIDで飛ばないしユーザーも作られない・・・なのでしょうがなく直接ログインしてパーミッションを変更しました。

これならと思い公開鍵認証でSSH接続を試みるも

ubuntu@10.111.0.111: Permission denied (publickey). 

となってしまい、コンテナ側のログも

Connection closed by authenticating user ubuntu 10.111.0.111 port 55140 [preauth]

ファイヤーウォールも疑ったのですがコンテナ内は、UFWは起動していませんでした。

うーん、その後色々調べたところ最初に参考にさせていただいたプロファイルの作成にはcloud-initが必要というのが公式のドキュメントを確認してわかったので明日は、その辺をつかって当初の同名同IDユーザーを作る事に最長しようかと思います。

https://linuxcontainers.org/ja/lxd/advanced-guide/

それではまた明日、ありがとうございました。

この記事が気に入ったらサポートをしてみませんか?