728x90
반응형
보완 관련한 정보들을 소스코드 혹은 파일에 저장하는 방식이 아닌, Docker 내에서 별도로 관리하는 Secret으로 관리하는 것을 Docker Secret 이라고 한다.
[변경전]
mariadb :
MYSQL_ROOT_PASSWORD:[비밀번호]
django:
DJANGO_SECRET_KEY:[비밀번호]
mysql:
MYSQL_PASSWORD:[비밀번호]
[변경후]
secrets:
DJANGO_SECRET_KEY:
external: true
MYSQL_PASSWORD:
external: true
MYSQL_ROOT_PASSWORD:
external: true
deploy.py
def read_secret(secret_name):
file = open('/run/secrets/' + secret_name)
secret = file.read()
secret = secret.rstrip().lstrip()
file.close()
return secret
SECRET_KEY = read_secret('DJANGO_SECRET_KEY')
DATABASES = {
'default':{
'ENGINE': 'django.db.backends.mysql',
'NAME': 'django',
'USER': 'django',
'PASSWORD': read_secret('MYSQL_PASSWORD'),
'HOST': 'mariadb',
'PORT': '3306',
}
}
- 설정한 secret_name 가진 파일을 읽어서 secret 반환하는 read_secret 메소드 생성 후 적용
반응형
'배포 > Docker' 카테고리의 다른 글
Docker Swarm 의 이해 (0) | 2021.11.26 |
---|---|
Docker Container 의 한계, Docker Stack의 이해 (0) | 2021.11.26 |
Docker Volume (0) | 2021.11.26 |
[Docker] django 의 Collectstatic 명령어로 Nginx 컨테이너와 동기화 할 static 파일 취합하기 (0) | 2021.11.26 |
[Docker]배포시 static 파일 지원하지 못하는 이유 (0) | 2021.11.26 |