paragraph break

This article is my note of Docker installation and troubleshooting process, follow by the Docker official guide.

Set up the repository

  1. Update the apt package index and install packages to allow apt to use a repository over HTTPS:

    sudo apt update
    sudo apt install \
      apt-transport-https \
      ca-certificates \
      curl \
      gnupg-agent \
  2. Add Docker’s official GPG key:

    curl -fsSL | sudo apt-key add -

    Verify that you now have the key with the fingerprint 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88, by searching for the last 8 characters of the fingerprint.

    sudo apt-key fingerprint 0EBFCD88

    screen shot of sudo apt-key

  3. Set up the stable repository.

    sudo add-apt-repository \
    "deb [arch=amd64] \
    $(lsb_release -cs) \

Install Docker engine

  1. Update the apt package index, and install the latest version of Docker Engine and containerd.

    sudo apt-get update
    sudo apt-get install docker-ce docker-ce-cli
  2. Verify that Docker Engine is installed correctly by running the hello-world image.

    sudo docker run hello-world

    You should see the welcome message below if Docker has been successfully installed:

    Hello from Docker!
    This message shows that your installation appears to be working correctly.
    To generate this message, Docker took the following steps:
     1. The Docker client contacted the Docker daemon.
     2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
     3. The Docker daemon created a new container from that image which runs the
        executable that produces the output you are currently reading.
     4. The Docker daemon streamed that output to the Docker client, which sent it
        to your terminal.
    To try something more ambitious, you can run an Ubuntu container with:
     $ docker run -it ubuntu bash
    Share images, automate workflows, and more with a free Docker ID:
    For more examples and ideas, visit:

Using docker command without sudo

  • Add the docker group if it doesn’t already exist:

    sudo groupadd docker
  • Add the connected user “$USER” to the docker group. Change the user name to match your preferred user if you do not want to use your current user:

     sudo gpasswd -a $USER docker
  • To activate the changes to groups:

    # option:
    sg group_name -c "bash"
    # or:
    newgrp docker

    Or log out/in to activate the changes.

  • Check if it’s successful:

    docker ps


Error when connect to

This error occurs when using the Docker CLI, failed even simply calling docker run, the error message like this:

Get net/http: request canceled while waiting for connection
  • Fixing in the new daemon.json file
    • List current DNS server:

      nmcli dev show | grep 'IP4.DNS'
    • Create or Edit /etc/docker/daemon.json add the DNS server:

      In this case is my proxy server, is Google Public DNS server.

        "dns": ["", ""]
    • Restart Docker deamon

      sudo service docker restart

paragraph break


⤧  Previous post Caching system - Redis vs. Memcached ⤧  Next post Docker - Container usage