[docker-compose] 環境設置

主要docker-compose.yml檔案不要直接暴露redis的密碼。

使用.env設置密碼範例

下方為目錄結構:

以下為docker-compose.yml檔內容

version: "3.8"

services:
  flask:
    build:
      context: ./flask
      dockerfile: Dockerfile
    image: flask-demo:latest
    environment:
      - REDIS_HOST=redis-server
      - REDIS_PASS=${REDIS_PASS}
    networks:
      - backend
      - frontend

  redis-server:
    image: redis:latest
    command: redis-server --requirepass ${REDIS_PASS}
    networks:
      - backend

  nginx:
    image: nginx:stable-alpine
    ports:
      - 8000:80
    depends_on:
      - flask
    volumes:
      - ./nginx/nginx.conf:/etc/nginx/conf.d/default.conf:ro
      - ./var/log/nginx:/var/log/nginx
    networks:
      - frontend

networks:
  backend:
  frontend:

.env檔

REDIS_PASS=ABC123

.gitignore檔(用於不要上傳到git上)

.env

查看目前設置內容:

docker-compose config

指定路徑的方式

若不使用.env檔,想使用其他路徑下的檔案,改成myenv的檔名,下指令

docker-compose --env-file myenv config
docker-compose --env-file myenv up -d

則可正常執行。

發佈留言