How to detect a docker daemon port

前端 未结 5 538
广开言路
广开言路 2021-01-30 01:48

I have installed Ubuntu and Docker. I am trying to launch Raik container:

$ DOCKER_RIAK_AUTOMATIC_CLUSTERING=1 DOCKER_RAIK_CLUSTER_SIZE=5 DOCKER_RIAK_BACKEND=lev         


        
5条回答
  •  予麋鹿
    予麋鹿 (楼主)
    2021-01-30 02:15

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

    There are 2 ways in configuring the docker daemon port

    1) Configuring at /etc/default/docker file:

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

    2) Configuring at /etc/docker/daemon.json:

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

    If the docker default socket is not configured Docker will wait for infinite period.i.e

    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
    

    NOTE : BUT DON'T CONFIGURE IN BOTH THE CONFIGURATION FILES, the following error may occur :

    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)
    

    The reason for adding both the user port[ tcp://127.0.0.1:5000] and default docker socket[unix:///var/run/docker.sock] is that the user port enables the access to the docker APIs whereas the default socket enables the CLI. In case the default port[unix:///var/run/docker.sock] is not mentioned in /etc/default/docker file the following error may occur:

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

    This error is not because that the docker is not running, but because of default docker socket is not enabled.

    Once the configuration is enabled restart the docker service and verify the docker port is enabled or not:

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

    Applicable for Docker Version 17.04, may vary with different versions of docker.

提交回复
热议问题