Podstawowym warunkiem jest nadanie poprzez sudo wysokich uprawnień użytkownikowi, który zarządzać będzie kontenerami:
# visudo %sudo ALL=(ALL) NOPASSWD:ALL
Może być to też dowolna inna grupa której użytkownik ten jest członkiem lub bezpośrednio użytkownik.
Komunikacja z VPSem musi być po kluczu ssh bez hasła dla ww. użytkownika. Należy zatem dodać odpowiedni wpis w .ssh/authorized_keys na zdalnym VPSie.
Dla komunikacji z VPSem należy też odblokować port 2376 na firewallu:
# PORT: 2376 (DOCKER-MACHINE) $IPTABLES -A INPUT -p tcp --dport 2376 -j ACCEPT
Pobierz i zainstaluj pakiet docker-engine z https://apt.dockerproject.org/repo.
Następnie trzeba skonfigurować docker-machine z odpowiednim sterownikiem:
$ docker-machine create --driver generic \ --generic-ip-address my.host.com \ --generic-ssh-user sudo-user \ my.host.com
Jeśli używasz VPN o adresie w prywatnych zakresach 172.X.X.X to most tworzony przez docker może pokryć się z używanymi już sieciami co doprowadzi do problemów w komunikacji. Nie używaj /etc/default/docker z docker-engine bo jest on ignorowany.
Zamiast tego dodaj odpowiedni wpis "--bip=172.X.X.X/16" do /etc/systemd/system/docker.service, np.:
ExecStart=/usr/bin/docker daemon -H tcp://0.0.0.0:2376 \
-H unix:///var/run/docker.sock \
--storage-driver aufs \
--tlsverify \
--tlscacert /etc/docker/ca.pem \
--tlscert /etc/docker/server.pem \
--tlskey /etc/docker/server-key.pem \
--label provider=generic \
--bip=172.20.0.1/16
Sprawdź dostępność zdalnego hosta z docker:
docker-machine ls