Contents

Docker Securing Daemon

Basic Secure

  • Disable password based authentication
  • Enable SSH key based authentication

Without Authentication

Certification Files

LocationTypeFile
ServerCRT/var/docker/server.pem
ServerKey/var/docker/serverkey.pem

Daemon Configuration

1
cat /etc/docker/daemon.json
1
2
3
4
5
6
7
8
{
  "hosts": [
    "tcp://192.168.1.10:2376"
  ],
  "tls": true,
  "tlscert": "/var/docker/server.pem",
  "tlskey": "/var/docker/serverkey.pem"
}

Client Docker CLI

1
docker --tls ps

With Authentication

Certification Files

LocationTypeFile
ServerCA/var/docker/cacert.pem
ServerCRT/var/docker/server.pem
ServerKey/var/docker/serverkey.pem
ClientCA~/.docker/cacert.pem
ClientCRT~/.docker/client.pem
ClientKey~/.docker/clientkey.pem

Daemon Configuration

1
cat /etc/docker/daemon.json
1
2
3
4
5
6
7
8
9
{
  "hosts": [
    "tcp://192.168.1.10:2376"
  ],
  "tlscert": "/var/docker/server.pem",
  "tlskey": "/var/docker/serverkey.pem",
  "tlsverify": true,
  "tlscacert": "/var/docker/cacert.pem"
}

Client Docker CLI

1
2
3
4
5
docker --tlsverify \\
       --tlscacert=~/.docker/cacert.pem \\
       --tlscert=~/.docker/client.pem \\
       --tlskey=~/.docker/clientkey.pem
       ps