タイトル : Ubuntu22.04(2023/04) その5 Docker
更新日 : 2023-04-29
カテゴリ : プログラミング
インストールの前に
Ubuntuの標準パッケージでは、バージョンがかなり古いです
$ sudo apt info docker
Package: docker
Version: 1.5-2
...
このあたりのことは、Ubuntu 22.04 LTSへの最新版Dockerのインストール に書いてあります。
無償版のDockerは Docker-CE なので、docker-ce をインストールすることになります。
インストール
公式ドキュメント の通りですね。
sudo apt install ca-certificates gnupg lsb-release
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo \
"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
あれ?動かない
postgres用のdocker-compose.yamlを書いて、起動しましょう。あれ?動かないです。(ちなみにdocker-compose-pluginなのでdocker"スペース"composeですね)
$ docker compose up -d
permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock:
Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/json?
all=1&filters=%7B%22label%22%3A%7B%22com.docker.compose.config-hash%22%3Atrue%2C%22com.docker.compose.project%3Dpostgres%22%3Atrue%7D%7D":
dial unix /var/run/docker.sock: connect: permission denied
これも一番上で書いたインストールのページに説明がありました。一般ユーザーで実行したい場合、ユーザーをグループdockerに所属させないと行けませんでした。
$ getent group | grep docker
docker:x:999:
$ sudo usermod -aG docker $USER
$ getent group | grep docker
docker:x:999:ユーザー名
再起動します。(サービスをリスタートすれば良いんだろうけど)
ログインし直して、postgresが使えるようになりました。