DockerもいいけどLXDもね 2 〜LXDでもDockerを使いたい〜

1 min read読了の目安(約1300字

さて前回デスクトップ環境を作ったわけですが

https://zenn.dev/tantan_tanuki/articles/7796a4f1d6d1b0

私は使い捨ての駒なので知らないシステムの誰でも出来る下らない修正みたいな小間使い案件をいきなり振られたりする関係上こういう使い捨てデスクトップ環境でそういう案件の対応をしています。

そんな小規模な案件でも動作確認に簡単な対向サーバが必要になったりしてDockerが使いたくなったりすることがあるんですがそこで毎回どうやるんだったかなと思ってはググってたので備忘録として残します。

FTPやTelnetをexpectしてコマンドを叩いてみたりするようなアレって言ってわかるなら仲間だね😂
expectはまだ良いとしてtelnetの標準入力にsleep駆使してID/PW/コマンド流し込むような作りにした奴に関してはキーボードに触れた指の爪が弾け飛ぶ呪いにかかってキーボード触れない体になってほしい。。。

とりあえずDockerのインストール

apt install docker.io

はい、普通に出来ますね簡単簡単

実行

さて問題はココからです。
いざDockerを使おうとすると

root@containername:~# docker run -it --rm alpine ash
docker: Error response from daemon: OCI runtime create failed: container_linux.go:367: starting container process caused: process_linux.go:495: container init caused: rootfs_linux.go:60: mounting "proc" to rootfs at "/proc" caused: permission denied: unknown.

こんな感じで怒られます。

対処方

ここが本題です。
やり方はホストOSで以下のコマンドを実行するだけ

lxc config set containername security.nesting=true security.privileged=true

動作確認

この状態でもう一回docker起動してみると

root@containername:~# docker run -it --rm alpine ash
/ #

はいOK
おつかれちゃーん

ただ単にコンテナに権限が無いだけなので付け足したげるってだけです。
これ毎回権限付けるのは覚えてるんだけど構文とかなんてプロパティ名だったかとか忘れてしまうので今回備忘録として記事にしてみました。

しゃみしゃっきり〜

P.S.

記事書くたびに結語どうしようか悩んで適当に付けてたけど

しゃみしゃっきり〜

が一番しっくりくるなぁと思ってます。