ошибка докера: /var / run / docker.носок: нет такого файла или каталога
Я новичок в докер. У меня есть сценарий оболочки, который загружает данные в impala, и мне нужен файл docker, который запускает создание образа и запуск контейнера.
Я нахожусь на mac, установлен boot2docker и есть DOCKER_HOST env настройка.
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 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
Я что-то пропустила?
11 ответов:
вам не нужно запускать какие-либо команды docker как
sudoкогда вы используетеboot2dockerкак каждая команда, переданная вboot2dockerVM по умолчанию работает как root.вы видите ошибку, когда вы работаете как
sudo, потому чтоsudoнетDOCKER_HOSTenv set, только ваш пользователь делает.вы можете подтвердить это, сделав:
$ 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 imagesзатем, чтобы запустить контейнер, вы можете сделать:
docker run your-image-name:your-tagэта команда запуска запустит контейнер из образа, созданного с помощью
Dockerfileи ваша команда сборки, а затем она закончит как только вашscript.shзакончил работу.
Вы можете быстро настроить свою среду, используя
shellinitв командной строке Выполнить:
$(boot2docker shellinit)это будет заполнять и экспортировать переменные среды и инициализировать другие функции.
на моем MAC, когда я запускаю boot2docker-vm на терминале с помощью
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будет печатать инструкции экспорта)
docker pullне получится, еслиdocker 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для Ubuntu 15 и выше используйте
sudo systemctl start docker
Я также получил эту ошибку. Хотя, Я не использовал boot2docker но только что установлен "обычный" докер на Ubuntu (см. https://docs.docker.com/installation/ubuntulinux/).
Я получил сообщение об ошибке ("dial unix/var/run / docker.носок: нет такого файла или каталога. Вы пытаетесь подключиться к демону с поддержкой TLS без TLS?") потому что докер демон не работает, пока нет.
на Ubuntu, вам нужно начать сервис:
sudo service docker startСмотрите также http://blog.arungupta.me/resolve-dial-unix-docker-sock-error-techtip64
для boot2docker на Windows, после просмотра:
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и настройки снова работает
Если вы используете CentOS 7, и вы установили Docker через yum, не забудьте запустить:
$ sudo systemctl start docker $ sudo systemctl enable dockerЭто позволит запустить сервер, а также повторно запускаться автоматически при загрузке системы.
чтобы настроить свою среду и сохранить ее для будущих сеансов, вы можете сделать:
echo 'export DOCKER_HOST="tcp://$(boot2docker ip 2>/dev/null):2375";' >> ~/.bashrcзатем:
source ~/.bashrcи ваша среда будет настроена в каждом сеансе
первый/var/run / docker.носок ссылается на тот же путь в вашей виртуальной машине boot2docker. Правильно писать для windows/var/run / docker.носок
вы, может быть, не ОП, НО у кого-то может быть каталог под названием
/var/run/docker.sock/уже из-за того, сколько раз вы взламываете и режете, чтобы все было правильно с Докером (особенно noobs). Удалите этот каталог и повторите попытку.это помогло мне на моем пути к получению его для работы на Centos 7.
Comments