docker secrets Как работать с ssh ключами в контейнере. Пример
Primary tabs
Напр. с помощью такого docker-compose.yml:
version: '3.7'
services:
web:
build: ./
container_name: web_cont
ports:
- "9721:80"
- "9725:22"
volumes:
- '../:/var/www/html/site'
networks:
frontnet:
ipv4_address: 172.33.1.2
secrets:
- host_ssh_key
db:
image: postgres:12.2
container_name: db
volumes:
- './config/postgresql:/docker-entrypoint-initdb.d'
environment:
POSTGRES_PASSWORD: password
POSTGRES_USER: user
POSTGRES_MULTIPLE_DATABASES: db,db_test
ports:
- 9722:5432
networks:
frontnet:
ipv4_address: 172.33.1.4
networks:
frontnet:
ipam:
driver: default
config:
- subnet: 172.33.0.0/16
secrets:
host_ssh_key:
file: ~/.ssh/dep_rsa
-- мы делаем доступным файл ~/.ssh/dep_rsa при сборке контейнера web_cont под именем host_ssh_key, после этой конфигурации мы можем получить досуп к файлу ключа уже в сценарии Dockerfile, для данного случая путь к нему будет таким:
/run/secrets/host_ssh_key
можно использовать в Dockerfile, напр. так:
RUN mkdir ~/.ssh && ln -s /run/secrets/host_ssh_key ~/.ssh/id_rsa
- Log in to post comments
- 2141 reads