ошибка докера: /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


Я что-то пропустила?

1457   11  

11 ответов:

вам не нужно запускать какие-либо команды docker как sudo когда вы используете boot2docker как каждая команда, переданная в boot2docker VM по умолчанию работает как root.

вы видите ошибку, когда вы работаете как sudo, потому что sudo нет DOCKER_HOST env 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

и настройки снова работает

в Linux, прежде всего выполнить sudo service docker start в терминале.

Если вы используете 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

    Ничего не найдено.