.. role:: raw-html-m2r(raw) :format: html **Contents** * `Manual steps to install docker daemon and docker-compose with proxy settings configuration <#manual-steps-to-install-docker-daemon-and-docker-compose-with-proxy-settings-configuration>`__ Manual steps to install docker daemon and docker-compose with proxy settings configuration ------------------------------------------------------------------------------------------ #. Install latest docker cli/docker daemon by following https://docs.docker.com/install/linux/docker-ce/ubuntu/#install-docker-ce. Follow ``Install using the repository`` and ``Install Docker CE`` (follow first 2 steps) sections there. Also, follow the manage docker as a non-root user section at https://docs.docker.com/install/linux/linux-postinstall/ to run docker without sudo #. Please follow the below steps only if the node/system on which the docker setup is tried out is running behind a HTTP proxy server. If that's not the case, this step can be skipped. * Configure proxy settings for docker client to connect to internet and for containers to access internet by following https://docs.docker.com/network/proxy/. Sample proxy config that could be going into ~/.docker/config.json would look like below with appropriate proxy server and ports added. .. code-block:: json { "proxies": { "default": { "httpProxy": "http://:", "httpsProxy": "http://", "noProxy": "127.0.0.1,localhost," } } } * Configure proxy settings for docker daemon by following the steps at https://docs.docker.com/config/daemon/systemd/#httphttps-proxy. Use the values for http proxy and https proxy as used in previous step. The correct DNS servers need to be updated to the /etc/resolv.conf .. code-block:: A. Ubuntu 16.04 and earlier For Ubuntu 16.04 and earlier, /etc/resolv.conf was dynamically generated by NetworkManager. Comment out the line dns=dnsmasq (with a #) in /etc/NetworkManager/NetworkManager.conf Restart the NetworkManager to regenerate /etc/resolv.conf : sudo systemctl restart network-manager Verify on the host: cat /etc/resolv.conf B. Ubuntu 18.04 and later Ubuntu 18.04 changed to use systemd-resolved to generate /etc/resolv.conf. Now by default it uses a local DNS cache 127.0.0.53. That will not work inside a container, so Docker will default to Google's 8.8.8.8 DNS server, which may break for people behind a firewall. /etc/resolv.conf is actually a symlink (ls -l /etc/resolv.conf) which points to /run/systemd/resolve/stub-resolv.conf (127.0.0.53) by default in Ubuntu 18.04. Just change the symlink to point to /run/systemd/resolve/resolv.conf, which lists the real DNS servers: sudo ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf Verify on the host: cat /etc/resolv.conf #. Install docker-compose tool by following this\ :raw-html-m2r:`
` https://docs.docker.com/compose/install/#install-compose