本节源码下载

环境变量参数environment

  • docker-compose.yml 文件
    其中有environment参数用来配置环境变量,${REDIS_PASSWORD}变量需要在docker-compose.yml同目录下的.env文件中设置从而传参

    1. version: "3.8"
    2. services:
    3. flask:
    4. build:
    5. context: ./flask
    6. dockerfile: Dockerfile
    7. image: flask-demo:latest
    8. environment:
    9. - REDIS_HOST=redis-server
    10. - REDIS_PASS=${REDIS_PASSWORD}
    11. networks:
    12. - backend
    13. - frontend
    14. redis-server:
    15. image: redis:latest
    16. command: redis-server --requirepass ${REDIS_PASSWORD}
    17. networks:
    18. - backend
    19. nginx:
    20. image: nginx:stable-alpine
    21. ports:
    22. - 8000:80
    23. depends_on:
    24. - flask
    25. volumes:
    26. - ./nginx/nginx.conf:/etc/nginx/conf.d/default.conf:ro
    27. - ./var/log/nginx:/var/log/nginx
    28. networks:
    29. - frontend
    30. networks:
    31. backend:
    32. frontend:
  • .evn文件

    1. REDIS_PASSWORD=ABC123

    验证环境变量传参结果

  • 使用docker-compose config命令
    十、Docker-Compose-环境变量 - 图1

    指定env文件

  • 使用docker-compose --env-file <文件名> <command>

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

      --evn-file必须紧跟在docker-compose