dockerエラー:/var/run/docker.sock:そのようなファイルまたはディレクトリはありません


86

Dockerは初めてです。データをimpalaにロードするシェルスクリプトがあり、実行するDockerファイルでイメージをビルドしてコンテナーを実行する必要があります。私はMacを使用していて、boot2dockerをインストールし、DOCKER_HOSTenvを設定しています。

bash-3.2$ docker info
Containers: 0
Images: 0
Storage Driver: aufs
Root Dir: /mnt/sda1/var/lib/docker/aufs
Dirs: 0
Execution Driver: native-0.2
Kernel Version: 3.15.3-tinycore64
Debug mode (server): true
Debug mode (client): false
Fds: 10
Goroutines: 10
EventsListeners: 0
Init Path: /usr/local/bin/docker
Sockets: [unix:///var/run/docker.sock tcp://0.0.0.0:2375]

以下を使用して、ビルド済みのイメージをインストールしようとしています。

sudo docker pull busybox

このエラーが発生します:

sudo docker pull busybox 2014/08/18 17:56:19 Post http:///var/run/docker.sock/images/create?fromImage=busybox&tag=: dial unix /var/run/docker.sock: no such file or directory

Dockerの設定に問題がありますか?

するとdocker pull busybox、画像がプルされてダウンロードが完了します。

bash-3.2$ docker pull busybox
Pulling repository busybox
a9eb17255234: Download complete 
fd5373b3d938: Download complete 
d200959a3e91: Download complete 
37fca75d01ff: Download complete 
511136ea3c5a: Download complete 
42eed7f1bf2a: Download complete 
c120b7cab0b0: Download complete 
f06b02872d52: Download complete 
120e218dd395: Download complete 
1f5049b3536e: Download complete 
bash-3.2$ docker run busybox /bin/echo Hello Doctor
Hello Doctor

私は何かが足りないのですか?


私も同じ問題を抱えていました。ラップトップを再起動しました。だからそれは私のために働き始めました。(docs.docker.com/installation/ubuntulinuxを参照してください)また、コンピューターを再起動することについても言及しています。
NehaG 2015年

私は、インターネットに接続したときに私のために働いた、私はそれが:(のになぜ起こったかは考えていません
サイラム

回答:


87

に渡されるすべてのコマンドとしてsudo使用boot2dockerしているときのように、dockerコマンドを実行する必要はありません。boot2dockerVMにデフォルトでrootとして実行。

envが設定されておらず、ユーザーのみが設定されているsudoため、実行中にエラーが表示されます。sudoDOCKER_HOST

これを確認するには、次の手順を実行します。

$ env

次に、

$ sudo env

そしてDOCKER_HOST、各出力で探しています。

スクリプトを実行するDockerファイルがある場合は、次のように機能する可能性があります。

Dockerfile

FROM busybox

# Copy your script into the docker image
ADD /path/to/your/script.sh /usr/local/bin/script.sh

# Run your script
CMD /usr/local/bin/script.sh

次に、実行できます。

docker build -t your-image-name:your-tag .

これにより、Dockerイメージが作成されます。これは、次の手順で確認できます。

docker images

次に、コンテナを実行するには、次の操作を実行できます。

docker run your-image-name:your-tag

この実行コマンドは、Dockerfileとビルドコマンドで作成したイメージからコンテナを開始し、script.sh実行が終了すると終了します。


1
私の無知について申し訳ありませんが、私は構築に成功したとは思いません。「dockerimages」:与える2014/08/19 11:11:45 Get http:///var/run/docker.sock/v1.13/images/json:dial unix /var/run/docker.sock:noそのようなファイルまたはディレクトリ。Dockerはホームディレクトリに配置する必要があり、任意の名前を付けることができますか?「画像名」と同じですか?
user1189851 2014

Dockerイメージの構築に使用しているコマンドを貼り付けることはできますか?使用すべきでないときにOSXマシンでsudoを使用しているようです。
Chris McKinnel 2014

$ docker build -t / Users / ig / Documents / tests / hellodocker。2014/08/19 11:18:09無効な名前空間名()、[a-z0-9_]のみが許可され、サイズは4〜30です。hellodockerには、指定したdockerfileの内容だけが含まれています。どうもありがとう。
user1189851 2014

うん、あなたはファイルパスを使用してドッキングウィンドウの画像をタグ付けしようとしている-試した後、何か他のもの-tのようにyour-image-name:a-tag
Chris McKinnel 2014

コマンドラインを教えていただけませんか、pls。私は何かを台無しにしています。私のdockerファイルはhellodockerで、パスは上記のとおりです。
user1189851 2014

45

を使用して環境をすばやくセットアップできます shellinit

コマンドプロンプトで次を実行します。

$(boot2docker shellinit)  

これにより、環境変数が入力およびエクスポートされ、他の機能が初期化されます。


26

を使用してターミナルでboot2docker-vmを起動すると、MACで


boot2docker start

次のように見えます


To connect the Docker client to the Docker daemon, please set:
    export DOCKER_CERT_PATH=
    export DOCKER_TLS_VERIFY=1
    export DOCKER_HOST=tcp://:2376

これらの環境変数を設定した後、問題なくビルドを実行できました。

更新[2016-04-28]最新バージョンのDockerを使用している場合は、次のことができます。

eval $(docker-machine env) 環境を設定します

docker-machine envエクスポートステートメントを出力します)


2
これらを端末プロファイルに追加して、時間を節約することもできます。vmは、それらがすでに設定されていることを通知します。
Joe Susnick 2014年

25

docker pulldocker service実行されていない場合は失敗します。それが実行されていることを確認してください

:~$ ps aux | grep docker
root     18745  1.7  0.9 284104 13976 ?   Ssl  21:19   0:01 /usr/bin/docker -d

実行されていない場合は、次の方法で開始できます。

sudo service docker start

Ubuntu15以降の場合

sudo systemctl start docker


16

私もこのエラーが発生しました。けれども、私はboot2dockerを使用していないが、インストールしたばかりの「プレーン」ドッキングウィンドウのUbuntu上で(参照https://docs.docker.com/installation/ubuntulinux/)。

dockerデーモンがまだ実行されていないため、エラーが発生しました( "dial unix /var/run/docker.sock:no such file ordirectory。Allyou try to connect to TLS-enabledデーモンwith TLS without?")。

Ubuntuでは、サービス開始する必要があります

sudo service docker start

http://blog.arungupta.me/resolve-dial-unix-docker-sock-error-techtip64も参照してください。


9

Windowsのboot2dockerの場合、以下を確認してください。

FATA[0000] Get http:///var/run/docker.sock/v1.18/version: 
dial unix /var/run/docker.sock: no such file or directory.  
Are you trying to connect to a TLS-enabled daemon without TLS?

私がしたのは:

boot2docker start
boot2docker shellinit

生成されたもの:

export DOCKER_CERT_PATH=C:\Users\vonc\.boot2docker\certs\boot2docker-vm
export DOCKER_TLS_VERIFY=1
export DOCKER_HOST=tcp://192.168.59.103:2376

最後に:

boot2docker ssh

そしてdockerは再び動作します



5

CentOS 7を使用していて、yum経由でDockerをインストールした場合は、以下を実行することを忘れないでください。

$ sudo systemctl start docker
$ sudo systemctl enable docker

これにより、サーバーが起動するだけでなく、起動時にサーバーが自動的に再起動します。


4

環境をセットアップし、将来のセッションのためにそれを維持するには、次のことができます。

echo 'export DOCKER_HOST="tcp://$(boot2docker ip 2>/dev/null):2375";' >> ~/.bashrc

次に: source ~/.bashrc

そして、あなたの環境はすべてのセッションでセットアップされます


0

最初の/var/run/docker.sockは、boot2docker仮想マシン内の同じパスを参照します。Windows用に正しく書く/var/run/docker.sock


ここにもう少し説明を追加できますか?また、ユーザーはMacを使用していると思います。
2ps 2016

0

あなたは、おそらくOPではありませんが、/var/run/docker.sock/docker(特に初心者)で物事を正しく行うためにハックアンドスラッシュを何度も行ったために、誰かがすでに呼び出されたディレクトリを持っている可能性があります。そのディレクトリを削除して、再試行してください。

これは、Centos7で動作させるための道のりに役立ちました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.