問題:Vagrant内でdockerを実行しようとしていますが、Vagrantfileには次のものが含まれています。
config.vm.provision "docker" do |d|
d.run "ubuntu",
cmd: "bash -l",
args: "-v '/vagrant:/var/www'"
end
dockerがインストールされますが、コマンドを実行すると次のエラーが表示されます。
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
私が試してみました
https://docs.Oracle.com/cd/E52668_01/E75728/html/section_rdz_hmw_2q.html
root
としてvagrantにログインし、ドッカーを起動しても同じ問題が発生します。
chmod on /var/run/docker.sock
ファイルを試しました
何も機能していないようです。
ps -ef
の出力は
/usr/bin/dockerd
docker-containerd -l unix:///var/run/docker/libcontainerd/docker-containerd.sock --metrics-interval=0 --start-timeout 2m --state-dir
/var/run/docker/libcontainerd/containerd --shim docker-containerd-shim --runtime docker-runc
ここで私に何が起こったのか、そして誰か他の人にとって可能な解決策になる可能性のあるものがあります。 buntu 16.04で実行しています。
最終的にはdocker-ceインストールからすべてを削除して再インストールしました。私はすべてを意味します。まだ動かない...
私のインターネットの魔法を通して、ファイルが次の場所にあることを言及している記事を見つけることができました(どこにたくさんあったのか思い出せません)。
$ Sudo nano /etc/systemd/system/docker.service
Execstartのデーモンの代わりに-dがありました。それは私には当てはまりませんでした。 ... daemon -D ...がありましたが、/ usr/bin/local/dockerを指していることに気付きました。それは存在しませんでしたが、存在するのは/ usr/bin/dockerです。その場所には、docker-containerd、dockerdなどもあります...
とにかく、docker.serviceファイルに変更を加えました。単に/ localをそこから外しています。保存しました。次に:
$ systemctl daemon-reload
$ Sudo service docker restart
$ Sudo service docker status (should see active (running))
$ Sudo docker run hello-world
成功!
Sshサーバーで、次を実行します。
systemctl start docker
systemctl status docker
Dockerはサーバー上で起動し、それぞれにソケットがあります。
コマンドSudo service docker restart
を実行した後、ドッカーイメージを再起動すると同様の問題が発生し、問題が修正されました。
同じエラー応答を取得しました。 daemon.jsonファイルをチェックアウトすると、
{
"registry-mirrors": ["http://hub-mirror.c.163.com"]
"graph": "/etc/docker/mirror"
}
あなたが見ることができるように、私は「」を逃したので、私はそれをとても簡単に修正しました。なんて不注意だった!
{
"registry-mirrors": ["http://hub-mirror.c.163.com"],
"graph": "/etc/docker/mirror"
}
コードを注意深く確認する必要がある場合があります
Systemctl start docker.serviceによるdockerデーモンの起動
必ずスーパーユーザーとしてコマンドを実行してください