18/03/2025

Docker secret Docker-compose build

Önce docker secret ile docker-compose.yml nasil kullaniriz.

services:
  new_image:
    container_name: new-container
    build:
      secrets:
        - secrets_for_software
      context: .
      no_cache: true
      labels:
        - new-software
    secrets:
      - secrets_for_software
    depends_on:
      - mariadb
secrets:
  secrets_for_software:
    file: .secrets_for_software.txt

Burada görüldügü gibi hem build icinde hemde build den sonra servis baslangicinde secrets kullanabiliyoruz. Secret verisi .secrets_for_software.txt dosyasi icinde tutuluyor.

icinde de deger olarak

USER=a_super_user
PASS=a_super_pass
GIT_URL=a_git_url
Simdi bunu Dockerfile icinde kullanacagiz cünkü build de secret kullaniliyor.

ARG USER
ARG PASS
RUN AUTH_GIT_URL="https://$USER:$PASS@$GIT_URL" && \
    git checkout "$COMMIT_HASH" || exit 1