はじめに
Dockerを初めて使用するユーザーは、Dockerをインストールした直後に問題が発生することが多いため、使用が難しい場合があります。 「Dockerデーモンに接続できません」 Dockerのエラーは通常、 docker-compose build
を実行しているときに発生します コマンド。
このチュートリアルでは、「Dockerデーモンに接続できない」の考えられる原因について説明します。 エラーとそれを解決する方法。
前提条件
- コマンドラインまたはターミナルへのアクセス
- 動作するDockerインストール
「Dockerデーモンに接続できません」エラーの解決
「Dockerデーモンに接続できません」を修正する方法はいくつかあります。 エラー。 1つの解決策がうまくいかない場合は、問題が解決するまで次の方法に進んでください。
方法1:Dockerエンジンを確認する
Dockerエンジンが実行されていない場合は、 docker-compose
アクセスできないため、エラーが発生します。
1.まず、Dockerエンジンが実行されているかどうかを確認します。
sudo service docker status
2. Dockerエンジンが機能していない場合は、次のコマンドで起動します。
sudo service docker start
3. Dockerエンジンを起動した後、 docker-compose build
を実行してみてください もう一度コマンドします。エラーが続く場合は、次のいずれかの解決策を試してください。
方法2:DockerUnixソケットに所有権を割り当てる
「Dockerデーモンに接続できません」 Docker用のUnixソケットファイルに正しい所有権が割り当てられていない場合にもエラーが発生します。
1. Docker Unixソケットの所有権を確認します:
sudo ls -la /var/run/docker.sock
2.必要に応じて、次のコマンドでユーザーの所有権を付与します。
sudo chown [username]:docker /var/run/docker.sock
方法3:使用済みファイルの所有権を確認する
所有権の問題は、Dockerビルドで使用されるファイルにも及ぶ可能性があります。 Dockerがアクセスできないファイルを使用する必要がある場合、「Dockerデーモンに接続できません」になります。 エラー。
1. docker build
を実行します 個々のコンテナごとのコマンド。これにより、潜在的なエラーを指摘する詳細な出力が得られます。
2.「Dockerデーモンに接続できません」に注意しながら、各コンテナの出力を確認します。 エラーレポート。ファイルの所有権に問題がある場合、エラーレポートには、 docker build
が作成したファイルが一覧表示されます。 コマンドにアクセスできません。
3.使用済みファイルの所有権の問題を解決するには、いくつかの方法があります。
- 問題のファイルを削除することで簡単に削除できますが、これは同じファイルを使用する他のビルドに影響します。
- もう1つの方法は、
.dockerignore
を追加することです。 現在のビルドにファイルを追加します。したがって、ビルドがアクセスできないファイルは除外されます。 - 最後に、次のコマンドでファイルの所有権を変更できます。
sudo chown [username]:docker /your/file/location
方法4:ユーザーをDockerグループに追加する
適切なユーザー権限がないと、エラーも発生します。 sudo
を使用せずにDockerエンジンにアクセスできる必要があります コマンド。
1.この問題を解決するには、usermodコマンドを使用して現在のユーザーをDockerグループに追加します。
sudo usermod -aG docker [username]
2.ログアウトして再度ログインし、変更を確認します。
方法5:OSXに環境テーブルを追加する
OS XでDockerを実行している場合は、環境変数を追加する必要がある場合があります。
1.まず、Docker仮想マシンを起動します。
docker-machine start
2.次のコマンドでDockerの環境変数を取得します:
docker-machine env
3.最後に、環境変数を設定します。
eval "$(docker-machine env default)"