簡體   English   中英

Dockerfile-可能的命令行參數?

[英]Dockerfile - possible command line argument?

我在名為${APP_NAME}的Dockerfile中有一個值。 它是什么? 如果這是bash腳本,我會假設它是某種變量,但尚未在任何地方為其賦值。 它是命令行參數嗎? 如果是這樣,當我想用​​它調用docker-compose時如何傳遞它?

作為參考,Docker文件如下所示:

version: '2'
services:
    nginx:
        container_name: ${APP_NAME}_nginx
        hostname: nginx
        build:
            context: ./containers/nginx
            dockerfile: Dockerfile
        ports:
            - "80:80"
            - "443:443"
        volumes:
            - .:/app
        links:
            - phpfpm
        networks:
            - backend

    phpfpm:
        container_name: ${APP_NAME}_phpfpm
        hostname: phpfpm
        expose:
            - "9000"
        build:
            context: ./containers/php-fpm
            dockerfile: Dockerfile
        working_dir: /app
        volumes:
            - .:/app
        links:
            - mysql
        networks:
            - backend

    mysql:
        container_name: ${APP_NAME}_mysql
        hostname: mysql
        build:
            context: ./containers/mysql
            dockerfile: Dockerfile
        volumes:
            - ./storage/mysql:/var/lib/mysql
            - ${MYSQL_ENTRYPOINT_INITDB}:/docker-entrypoint-initdb.d
        environment:
            - MYSQL_DATABASE=${DB_DATABASE}
            - MYSQL_ROOT_PASSWORD=${DB_PASSWORD}
        ports:
            - "33061:3306"
        expose:
            - "3306"
        networks:
          - backend

networks:
    backend:
        driver: "bridge"

實際上,我可能會對Docker提出很多問題,因為我之前從未真正使用過它,因此對Dockerfile語法的引用會有所幫助。

這意味着您的項目.env文件中可能存在某個位置,其中包含docker compose必需的變量。 您可以在官方docker compose文檔中找到有關它的更多信息。 它說您可以使用.env文件設置環境變量的默認值,Compose會自動尋找該文件。 在shell環境中設置的值將覆蓋.env文件中設置的值。 嘗試在此處查找更多信息: https : //docs.docker.com/compose/compose-file/#variable-substitution

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM