Заменить просроченный сертификат для сокета демона докеров

Срок действия нашего сертификата TCP docker sock, расположенного на порту 9001, истек.

В документации здесь объясняется, как защитить сокет демона докеров путем создания сертификата CA: https://docs.docker.com/engine/security/https/

Однако в документации не объясняется, как заменить сертификат с истекшим сроком действия. У меня есть недавно созданные сертификаты hostname.crt, hostname.csr и hostname.jks. Как отсоединить сертификат с истекшим сроком действия от сокета докера и прикрепить новый сертификат? Я хотел бы настроить его на использование только соединения TLS 1_2.

Я попытался выполнить указанные выше шаги для создания файлов ca.pem, cert.pem и key.pem с использованием моего файла hostname.csr, но я столкнулся с этой ошибкой:

$ dockerd --tlsverify --tlscacert=ca.pem --tlscert=server-cert.pem --tlskey=server-key.pem -H=0.0.0.0:2377                                                                                                                        
listen tcp 0.0.0.0:2377: bind: address already in use
$ docker --tlsverify --tlscacert=ca.pem --tlscert=cert.pem --tlskey=key.pem -H=cstmditlvlnx54.dev.local:2377 version
Client:
Version:      17.09.0-ce
API version:  1.32
Go version:   go1.8.3
Git commit:   afdb6d4
Built:        Tue Sep 26 22:41:23 2017
OS/Arch:      linux/amd64
error during connect: Get https://<hostname>:2377/v1.32/version: x509: certificate is valid for swarm-manager, dbacsvpspwkeimy9cr8fe2uqd, swarm-ca, not <hostname>
$ sudo docker info
Containers: 48
Running: 0
Paused: 0
Stopped: 48
Images: 33
Server Version: 17.09.0-ce
Storage Driver: overlay
Backing Filesystem: xfs
Supports d_type: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
Volume: local
Network: bridge host macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file logentries splunk syslog
Swarm: active
NodeID: dbacsvpspwkeimy9cr8fe2uqd
Is Manager: true
ClusterID: p8pp1gurblaoendeanjc04lv6
Managers: 1
Nodes: 3
Orchestration:
  Task History Retention Limit: 5
Raft:
  Snapshot Interval: 10000
  Number of Old Snapshots to Retain: 0
  Heartbeat Tick: 1
  Election Tick: 3
Dispatcher:
  Heartbeat Period: 5 seconds
CA Configuration:
  Expiry Duration: 4 weeks
  Force Rotate: 3
Autolock Managers: false
Root Rotation In Progress: false
Node Address: ######
Manager Addresses:
  #######:2377
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 06b9cb35161009dcb7123345749fef02f7cea8e0
runc version: 3f2f8b84a77f73d38244dd690525642a72156c64
init version: 949e6fa
Security Options:
seccomp
  Profile: default
Kernel Version: 3.10.0-1127.8.2.el7.x86_64
Operating System: Red Hat Enterprise Linux Server 7.8 (Maipo)
OSType: linux
Architecture: x86_64
CPUs: 4
Total Memory: 7.777GiB
Name: <hostname>
ID: RCPU:PSF5:DJ7D:JECW:X7CF:GWP6:52QE:K7LR:OASA:7LQX:SPX6:QIFX
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
Experimental: false
Insecure Registries:
<url>:9091
<url>:9092
cstmdevlvrpo51:9091
127.0.0.0/8
Live Restore Enabled: false

0 ответов

Другие вопросы по тегам