Dial unix/var/run/docker.sock: нет такого файла или каталога после обновления до lxc-docker
когда я устанавливал докеры изначально, он показывает версию 1.0.1
Быть, что текущая версия 1.4.1, я нашел и выполнил следующие инструкции:
$ sudo apt-get update
$ sudo apt-get install docker.io
$ sudo ln -sf /usr/bin/docker.io /usr/local/bin/docker
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9
$ sudo sh -c "echo deb https://get.docker.io/ubuntu docker main \
> /etc/apt/sources.list.d/docker.list"
$ sudo apt-get update
$ sudo apt-get install lxc-docker
Теперь, когда я запускаю версию докера, я получаю 1.4.1, но докер больше не работает - он дает мне эту ошибку:
[email protected]:/# docker version
Client version: 1.4.1
Client API version: 1.16
Go version (client): go1.3.3
Git commit (client): 5bc2ff8
OS/Arch (client): linux/amd64
FATA[0000] Get http:///var/run/docker.sock/v1.16/version: dial unix /var/run/docker.sock: no such file or directory. Are you trying to connect to a TLS-enabled daemon without TLS?
Что я могу сделать, чтобы лиса это, но продавать самый последний докер-версию 1.4.1?
Ответы
Ответ 1
/var/run/docker будет создан при запуске службы докеров:
Systemd:
sudo systemctl start docker
выскочка:
sudo service docker start
init.d:
sudo /etc/init.d/docker start
Вам также может понадобиться это, если вы получите эту ошибку:
FATA[0000] Cannot connect to the Docker daemon. Is 'docker -d' running on this host?
Ответ 2
У меня была такая же проблема в Mac OS X. Оставляя мое исправление здесь, если оно помогает кому-то:
- Запустите "Docker Quick Start Terminal"
- В целевом каталоге запустите
eval "$(docker-machine env default)"
Это исправляет проблему для меня
Ответ 3
У меня возникла одна и та же проблема, и я нашел решение здесь: https://docs.docker.com/articles/basics/.
Всегда полезно вернуться к основам.
Проблема заключается в том, что вы можете запускать другой порт вместо стандартного сокета (unix:///var/run/docker.sock).
Если вы запустите "ps aux | grep docker", вы увидите, как работает демон. В конце строки процесса докера вы также должны увидеть параметр -H = {IpAddress}: {Port}. Вы также должны увидеть путь, в котором хранятся сертификаты (параметры -tls)
Вы должны поручить докеру подключиться к адресу tcp, указанному в параметре -H.
Например:
`docker --tls -H tcp://{IpAddress}:{Port} version`
Обратите внимание на параметр -tls, это необходимо, если вы поручили докеру работать в безопасном режиме.
Вы можете избежать многословия команды, задав переменные среды.
export DOCKER_HOST="tcp://{IpAddress}:{Port}"
export DOCKER_TLS_VERIFY="1"
Надеюсь, что это поможет.
Ответ 4
Является ли докер инициирован как демон?
используйте service docker.io status
или service docker status
если нет, тогда запустите его и сыграйте с ним