tutorial run plugin hub how docker boot2docker

plugin - error de docker:/var/run/docker.sock: no existe tal archivo o directorio



jenkins docker plugin (11)

Soy nuevo en Docker. Tengo un script de shell que carga datos en impala y quiero un archivo acoplable que se ejecuta construye una imagen y ejecuta el contenedor. Estoy en Mac, he instalado boot2docker y tengo configurada la configuración DOCKER_HOST .

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]

Estoy intentando simplemente instalar una imagen preconstruida usando:

sudo docker pull busybox

Me sale este error:

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

¿Hay algún problema con la configuración de mi docker?

Cuando hago un docker pull busybox , tira de la imagen y se completa la descarga.

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

¿Me estoy perdiendo de algo?


El primer /var/run/docker.sock se refiere a la misma ruta en su máquina virtual boot2docker. Correcly escribe para windows /var/run/docker.sock


En Linux, antes que nada, ejecute sudo service docker start en la terminal.


En mi MAC cuando inicio boot2docker-vm en la terminal usando

boot2docker start

Veo lo siguiente

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

Después de establecer estas variables de entorno, pude ejecutar la compilación sin el problema.

Actualización [2016-04-28] Si está utilizando las versiones recientes de la ventana acoplable, puede hacer

eval $(docker-machine env) configurará el entorno

( docker-machine env imprimirá las declaraciones de exportación)


No necesita ejecutar ningún comando de boot2docker como sudo cuando usa boot2docker ya que cada comando pasado a la VM boot2docker ejecuta como raíz de forma predeterminada.

Está viendo el error cuando se ejecuta como sudo porque sudo no tiene el DOCKER_HOST env DOCKER_HOST , solo su usuario sí lo hace.

Puede confirmar esto haciendo un:

$ env

Entonces un

$ sudo env

Y buscando DOCKER_HOST en cada salida.

En cuanto a tener un archivo acoplable que ejecuta su secuencia de comandos, algo como esto podría funcionar para usted:

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

Entonces puedes ejecutar:

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

Esto construirá su imagen del acoplador, que puede ver al hacer un:

docker images

Luego, para ejecutar su contenedor, puede hacer una:

docker run your-image-name:your-tag

Este comando ejecutará un contenedor desde la imagen que creó con su Dockerfile y su comando de compilación y luego terminará una vez que su script.sh haya terminado de ejecutarse.


Para boot2docker en Windows, después de ver:

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?

Todo lo que hice fue:

boot2docker start boot2docker shellinit

Eso generó:

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

Finalmente:

boot2docker ssh

Y Docker funciona de nuevo


Para configurar su entorno y guardarlo para las sesiones futuras, puede hacer:

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

Entonces: source ~/.bashrc

Y su entorno estará configurado en cada sesión


Puede configurar rápidamente su entorno con shellinit

En su símbolo del sistema ejecute:

$(boot2docker shellinit)

Eso poblará y exportará las variables de entorno e inicializará otras características.


Si está utilizando CentOS 7 y ha instalado Docker a través de yum, no olvide ejecutar:

$ sudo systemctl start docker $ sudo systemctl enable docker

Esto iniciará el servidor, y lo reiniciará automáticamente al arrancar.


También recibí este error. Sin embargo, no utilicé boot2docker sino que simplemente instalé la ventana acoplable "simple" en Ubuntu (vea docs.docker.com/installation/ubuntulinux ).

Obtuve el error ("marque unix /var/run/docker.sock: no existe dicho archivo o directorio. ¿Está intentando conectarse a un daemon habilitado para TLS sin TLS?") Porque el daemon docker aún no se estaba ejecutando .

En Ubuntu, necesitas iniciar el servicio :

sudo service docker start

Ver también http://blog.arungupta.me/resolve-dial-unix-docker-sock-error-techtip64


Usted, tal vez no sea el OP, pero alguien puede tener un directorio llamado /var/run/docker.sock/ ya debido a la cantidad de veces que hackea y corta para hacer las cosas bien con Docker (especialmente noobs). Borre ese directorio y vuelva a intentarlo.

Esto me ayudó en mi camino para lograr que funcione en Centos 7.


docker pull fallará si el docker service no se está ejecutando. Asegúrate de que esté funcionando

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

Si no se está ejecutando, puede iniciarlo

sudo service docker start

Para Ubuntu 15 y uso superior

sudo systemctl start docker