Saltar al contenido

Cómo detectar un puerto de daemon docker

Luego de mucho trabajar hemos dado con el resultado de esta inconveniente que tantos lectores de esta web presentan. Si tienes algo más que compartir puedes compartir tu información.

Solución:

De forma predeterminada, el demonio docker utilizará el socket de Unix unix:///var/run/docker.sock (puede comprobar que este es su caso haciendo un sudo netstat -tunlp y tenga en cuenta que no hay ningún proceso del demonio docker escuchando en ningún puerto). Se recomienda mantener esta configuración por razones de seguridad, pero parece que Riak requiere que el demonio se ejecute en un socket TCP.

Para iniciar el demonio docker con un socket TCP al que cualquiera puede conectarse, use el -H opción:

sudo docker -H 0.0.0.0:2375 -d &

Advertencia: Esto significa que las máquinas que pueden hablar con el daemon a través de ese socket TCP pueden obtener acceso de root a su máquina host.

Documentos relacionados:

http://basho.com/posts/technical/running-riak-in-docker/

https://docs.docker.com/install/linux/linux-postinstall/#configure-where-the-docker-daemon-listens-for-connections

  1. Prepare un archivo de configuración adicional. Crear un archivo llamado /etc/systemd/system/docker.service.d/docker.conf. Dentro del archivo docker.confpegue debajo del contenido:
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock

Tenga en cuenta que si no hay un directorio como docker.service.d o un archivo llamado docker.conf entonces deberías crearlo.

  1. Reinicie Docker. Después de guardar este archivo, vuelva a cargar la configuración systemctl daemon-reload y reinicie Docker por systemctl restart docker.service.

  2. Compruebe su demonio Docker. Después de reiniciar el servicio docker, puede ver el puerto en la salida de systemctl status docker.service
    me gusta /usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock.

Espero que esto pueda ayudar

¡Gracias!

Documentos de referencia de Docker: https://docs.docker.com/install/linux/linux-postinstall/#configure-where-the-docker-daemon-listens-for-connections

Hay 2 formas de configurar el puerto del demonio docker

1) Configuración en /etc/predeterminado/docker expediente:

DOCKER_OPTS="-H tcp://127.0.0.1:5000 -H unix:///var/run/docker.sock"

2) Configuración en /etc/docker/daemon.json:


"debug": true,
"hosts": ["tcp://127.0.0.1:5000", "unix:///var/run/docker.sock"]

Si el socket predeterminado de Docker no está configurado, Docker esperará un período infinito.

Waiting for /var/run/docker.sock
Waiting for /var/run/docker.sock
Waiting for /var/run/docker.sock
Waiting for /var/run/docker.sock
Waiting for /var/run/docker.sock

NOTA : PERO NO CONFIGURAR EN AMBOS ARCHIVOS DE CONFIGURACIÓNpuede ocurrir el siguiente error:

Waiting for /var/run/docker.sock
unable to configure the Docker daemon with file /etc/docker/daemon.json: the following directives are specified both as a flag and in the configuration file: hosts: (from flag: [tcp://127.0.0.1:5000 unix:///var/run/docker.sock], from file: tcp://127.0.0.1:5000)

La razón para agregar tanto el puerto de usuario[ tcp://127.0.0.1:5000] y zócalo acoplable predeterminado[unix:///var/run/docker.sock] es que el puerto de usuario permite el acceso a las API de la ventana acoplable, mientras que el socket predeterminado habilita la CLI. En caso de que el puerto predeterminado[unix:///var/run/docker.sock] no se menciona en el archivo /etc/default/docker, puede ocurrir el siguiente error:

# docker ps
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

Este error no se debe a que la ventana acoplable no se esté ejecutando, sino a que el socket de la ventana acoplable predeterminado no está habilitado.

Una vez que la configuración esté habilitada, reinicie el servicio de la ventana acoplable y verifique que el puerto de la ventana acoplable esté habilitado o no:

# netstat -tunlp | grep -i 5000
tcp        0      0 127.0.0.1:5000          0.0.0.0:*               LISTEN      31661/dockerd 

Aplicable para la versión 17.04 de Docker, puede variar con las diferentes versiones de Docker.

Valoraciones y reseñas

Nos puedes añadir valor a nuestra información colaborando tu veteranía en las notas.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *