Pregunta Cómo detectar un puerto daemon docker


He instalado Ubuntu y Docker. Estoy tratando de lanzar el contenedor Raik:

$ DOCKER_RIAK_AUTOMATIC_CLUSTERING=1 DOCKER_RAIK_CLUSTER_SIZE=5 DOCKER_RIAK_BACKEND=leveldb make start-cluster ./bin/start

y recibe el mensaje de error:

Parece que la variable de entorno DOCKER_HOST no se ha configurado.   El clúster Riak no se puede iniciar a menos que esto se haya establecido   adecuadamente. Por ejemplo:

exportar DOCKER_HOST = "tcp: //127.0.0.1: 2375"

Si configuro

export DOCKER_HOST="tcp://127.0.0.1:2375"

todos mis otros contenedores dejan de funcionar y dicen que no pueden encontrar al daemon Docker.

Parece que mi Docker damon usa otro puerto tahn 2375. ¿Cómo puedo verificarlo?


26
2017-10-25 11:41


origen


Respuestas:


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

Para iniciar el docker daemon 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 equipo host.

Documentos relacionados:

http://basho.com/riak-quick-start-with-docker/

https://docs.docker.com/articles/basics/


27
2017-10-25 21:51



crea un archivo en /etc/systemd/system/docker.service.d/docker.conf

dentro docker.conf pegar 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 y archivo docker.conf luego créelo.

después de guardar esta configuración de recarga de archivo systemctl daemon-reload y reiniciar systemctl restart docker.service

después de reiniciar puedes ver el puerto en 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!


18
2018-02-13 13:12



Existen 2 formas de configurar el puerto daemon docker

1) Configurando a / etc / default / docker archivo:

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

2) Configurando a /etc/docker/daemon.json:

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

Si el conector predeterminado de la ventana acoplable no está configurado, Docker esperará por 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 LOS ARCHIVOS DE CONFIGURACIÓN, el siguiente error puede ocurrir:

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 ambos puerto de usuario [tcp: //127.0.0.1: 5000] y zócalo del docker predeterminado [unix: ///var/run/docker.sock] es que el puerto de usuario habilita el acceso a las API de Docker mientras que el socket predeterminado habilita la CLI. En caso de que el puerto predeterminado [unix: ///var/run/docker.sock] no se mencione en el archivo / etc / default / docker, se puede producir 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 porque el conector acoplado predeterminado no está habilitado.

Una vez que la configuración esté habilitada, reinicie el servicio del acoplador y verifique que el puerto del acoplador 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 Docker 17.04, puede variar con las diferentes versiones de Docker.


9
2018-05-02 10:05



Tratar: -H tcp: //0.0.0.0: 2375 En lugar de -H 0.0.0.0:2375


0
2018-03-25 23:20