主要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
則可正常執行。