mkdir /etc/docker/ssl && chmod 700 /etc/docker/ssl/ && cd /etc/docker/ssl
openssl genrsa -out ca-key.pem 4096
365
⇒ augmenter à 1093 ?) : openssl req -new -x509 -days 365 -key ca-key.pem -sha256 -out ca.pem
openssl genrsa -out server-key.pem 4096
openssl req -subj "/CN=10.0.1.10" -sha256 -new -key server-key.pem -out server.csr
echo "subjectAltName=IP:10.0.1.10,IP:127.0.0.1" > extfile.cnf
365
⇒ augmenter à 1093 ?) : openssl x509 -req -days 365 -sha256 -in server.csr -CA ca.pem -CAkey ca-key.pem -CAcreateserial -out server-cert.pem -extfile extfile.cnf
openssl genrsa -out key.pem 4096
openssl req -subj '/CN=client' -new -key key.pem -out client.csr
echo extendedKeyUsage = clientAuth > extfile-client.cnf
365
⇒ augmenter à 1093 ?) : openssl x509 -req -days 365 -sha256 -in client.csr -CA ca.pem -CAkey ca-key.pem -CAcreateserial -out cert.pem -extfile extfile-client.cnf
rm -v client.csr server.csr extfile.cnf extfile-client.cnf
chmod -v 0400 ca-key.pem key.pem server-key.pem
chmod -v 0444 ca.pem server-cert.pem cert.pem
/etc/docker/daemon.json
avec : vi /etc/docker/daemon.json
{ "tls": true, "tlsverify": true, "tlscacert": "/etc/docker/ssl/ca.pem", "tlscert": "/etc/docker/ssl/server-cert.pem", "tlskey": "/etc/docker/ssl/server-key.pem" }
systemctl edit docker
[Service] ExecStart= ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock -H tcp://10.0.1.10:2376
vi /etc/systemd/system/docker.service.d/override.conf
systemctl daemon-reload
systemctl restart docker
systemctl status docker
vi /lib/systemd/system/docker.service
ExectStart=
en ajoutant l'option -H tcp://10.0.1.20:2376
juste aprés -H fd://
systemctl daemon-reload
systemctl restart docker
key.pem
et cert.pem
généré précédemment et stockés sur le serveur où l'API écoute. Pour les récupérer, passer par les comptes admin
et votre machine locale à l'aide de la commande scp
.curl https://10.0.1.10:2376/images/json --key ./key.pem --cert ./cert.pem --insecure
docker --tlsverify --tlscacert=ca.pem --tlscert=cert.pem --tlskey=key.pem -H=10.0.1.10:2376 version
https://manager.<domaine-sinp>
pour configurer cet instance (voir la doc dédiée).