snap docker install では docker グループが作成されなかった
環境
os: Ubuntu 22.04 LTS
, 24.04 LTS
arch: x64
snapでインストールして起動したが、エラーとなった
解決方法については後述しているので熟練の方は読み飛ばして頂いて結構です。
# snapストアからDockerをインストール
sudo snap install docker
# 起動してみるもエラー
$ docker-compose up
(省略)
/var/run/docker.sock: connect: permission denied
# グループにユーザがいなさそう
$ cat /etc/group | grep docker
$
解決方法
1. グループ作成とユーザの追加
# docker グループを作成
sudo addgroup docker
# ログイン中のユーザをdockerグループに追加
export SUDO_USER_NAME=`whoami` \
&& sudo usermod -aG docker "${SUDO_USER_NAME}"
2-1. docker のインストール (これからインストールする場合)
# docker をインストールしここで終了
sudo snap install docker
2-2. パッケージの再有効化 (グループ作成以前にインストールした場合)
# パッケージを再有効化する
sudo snap disable docker
sudo snap enable docker
3. 動作確認
docker version
を実行し、サーババージョンが取得出来ていることを確認
# サーババージョンが取得出来ている例
$ docker version
Client: Docker Engine - Community
(クライアントバージョンは無関係)
Server: Docker Engine - Community
Engine:
Version: 2x.xx.xx
(省略)
# NG)サーババージョンが取得出来ていない例(サーバ情報が表示されずエラーメッセージが表示されている)
$ docker version
Client: Docker Engine - Community
(省略)
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.xx/version": dial unix /var/run/docker.sock: connect: permission denied
hello-woldコンテナを実行し、pull image(初回実行時のみ)が開始され、Hello from Docker!
が表示されることを確認
$ docker run hello-world
(省略)
Hello from Docker!
(省略)
以上