事前知識
Dockerのインストール手順
-
パッケージリストの更新
sudo apt-get update
- 説明: このコマンドは、Ubuntuのパッケージリストを最新の状態に更新します。
-
依存パッケージのインストール
sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
- 説明: Dockerのインストールに必要な依存パッケージ(HTTPS経由でのパッケージ取得、証明書の管理、GPGキーの管理、追加のソフトウェアプロパティの管理)をインストールします。
-
Dockerの公式GPGキーを追加
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
- 説明: Dockerの公式GPGキーをシステムに追加します。
-
Dockerリポジトリを追加
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
- 説明: Dockerの公式リポジトリをシステムに追加します。
-
Docker Engineのインストール
sudo apt-get update sudo apt install docker-ce docker-ce-cli containerd.io
- 説明: Docker Engine、Docker CLI、およびContainerdをインストールします。
-
インストール確認
docker --version
- 説明: Dockerが正しくインストールされたかを確認します。このコマンドを実行すると、インストールされたDockerのバージョンが表示されます。
Docker Composeのインストール手順
-
Docker Composeプラグインのインストール
sudo apt install docker-compose-plugin
- 説明: Docker Composeは、複数のコンテナを定義して実行するためのツールです。このコマンドでDocker Composeプラグインをインストールします。
-
インストール確認
docker compose version
- 説明: Docker Composeが正しくインストールされたかを確認します。このコマンドを実行すると、インストールされたDocker Composeのバージョンが表示されます。
Dockerコマンド実行時の「permission denied」エラーの対処法
Dockerをインストールした後、docker ps
コマンドを実行すると以下のようなエラーメッセージが表示されることがあります。
permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.46/containers/json": dial unix /var/run/docker.sock: connect: permission denied
このエラーは、現在のユーザーがDockerデーモンソケットへのアクセス権限を持っていないために発生します。
以下の手順でこの問題を解決できます。
対処法
-
現在のユーザーを
docker
グループに追加sudo usermod -aG docker $USER
-
説明: このコマンドは、現在のユーザーを
docker
グループに追加します。これにより、ユーザーがDockerデーモンソケットにアクセスできるようになります。
-
説明: このコマンドは、現在のユーザーを
-
変更を反映するためにログアウトして再ログイン
newgrp docker
-
説明:
newgrp docker
コマンドを実行することで、現在のセッションに新しいグループ設定を適用します。これにより、再ログインせずに変更を反映できます。
-
説明:
-
再度
docker ps
コマンドを実行して確認docker ps
- 説明: このコマンドを実行して、Dockerデーモンにアクセスできるかを確認します。正常に動作していれば、現在実行中のコンテナのリストが表示されます。
実行例
以下は、上記の手順を実行した際の例です。
$ sudo usermod -aG docker $USER
$ newgrp docker
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
WSL2のUbuntuでDockerコマンド実行時にエラーが出た場合の対処法
WSL2のUbuntu環境でDockerを使用していると、以下のようなエラーメッセージが表示されることがあります。
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
このエラーは、Dockerデーモンが起動していないか、現在のユーザーがDockerデーモンにアクセスする権限を持っていない場合に発生します。
以下の手順でこの問題を解決できます。
対処法
-
Dockerデーモンの再起動
-
コマンド
sudo service docker stop # Docker停止 sudo service docker start # Docker開始
-
実行結果
$ sudo service docker stop * Docker already stopped - file /var/run/docker-ssd.pid not found. $ sudo service docker start * Starting Docker: docker $ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
-
関連記事
- Docker-composeでSpringBoot×PostgreSQL環境構築
- Docker-compose基礎
- UbuntuにDocker-composeをインストールする手順
- Dockerfile基礎
- Docker基礎
- UbuntuにDockerをインストールする手順
- Docker Compose作成方法
- Dockerファイル構築
- Docker汎用コマンド集
- Dockerコマンド一覧
- みんなが欲しそうなDockerテンプレートまとめ
GitHub