Azure App Service(Docker)中环境变量无法访问问题求助
在Azure Web Apps部署Drupal自定义镜像后无法读取环境变量
我通过Dockerfile构建自定义Docker镜像,在Azure Web Apps上部署Drupal应用,但容器启动后无法查看任何环境变量。
Dockerfile内容
FROM --platform=amd64 php:8.2-apache RUN apt-get update && \ apt-get install --yes --no-install-recommends \ curl \ git \ zip \ unzip \ libzip-dev \ libpq-dev \ openssh-server \ cifs-utils \ lsb-release \ gpg \ mariadb-client \ nano # add root to www-data group RUN usermod -u 1000 www-data # SSH config for Azure RUN rm /etc/ssh/sshd_config COPY conf_sshd-azure.conf /etc/ssh/sshd_config RUN echo "root:Docker!" | chpasswd # install php extensions ADD https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions /usr/local/bin/ RUN chmod +x /usr/local/bin/install-php-extensions && \ install-php-extensions \ opcache \ zip \ redis \ pdo_mysql \ gd \ mysqli \ uploadprogress # enable apache modules RUN a2enmod \ rewrite \ cache \ expires \ headers \ cache_disk COPY conf_php-opcache-prod.ini $PHP_INI_DIR/conf.d/opcache.ini COPY conf_php.ini $PHP_INI_DIR/conf.d/php.ini COPY conf_apache-prd.conf /etc/apache2/sites-enabled/000-default.conf # copy source to the images COPY ./html /var/www/html RUN chown -R www-data:www-data /var/www/html # provide some nice shortcut RUN ln -s /var/www/html/vendor/bin/drush /usr/sbin/drush RUN alias logs_error="tail -f /var/log/apache_error.log" RUN alias logs_acces="tail -f /var/log/apache_access.log" # make some fix on the drupal RUN chmod 644 /var/www/html/web/sites/default/settings* #RUN composer clearcache # move to project folder on ssh login RUN echo 'cd /var/www/html' >>/root/.bash_profile WORKDIR /var/www/html EXPOSE 2222 80 # this is a test ENV DB_database ='blabal' ENV DB_username ='blabal' ENV DB_password ='blabal' ENV DB_host ='blabal' ENV SETTINGS_hash_salt ='blabal' # start ssh and apache service COPY entrypoint_apachephp.sh /entrypoint.sh ENTRYPOINT ["bash", "/entrypoint.sh"]
部署流程
将镜像构建后上传至Azure容器注册表,通过部署中心在App Service中使用该镜像:
启动日志显示环境变量已传入
从日志中可以看到启动容器时已传入环境变量:
2023-08-09T19:36:23.773Z INFO - Pull Image successful, Time taken: 0 Minutes and 0 Seconds 2023-08-09T19:36:23.826Z INFO - Starting container for site 2023-08-09T19:36:23.827Z INFO - docker run -d --expose=80 --name project-dev_7_1fdb9d01 -e WEBSITE_SITE_NAME=project-dev -e WEBSITE_AUTH_ENABLED=False -e PORT=80 -e WEBSITE_ROLE_INSTANCE_ID=0 -e WEBSITE_HOSTNAME=project-dev.azurewebsites.net -e WEBSITE_INSTANCE_ID=xxxxxxxxxxxx -e WEBSITE_USE_DIAGNOSTIC_SERVER=False project.azurecr.io/fondation:1.1 --env DB_database=kiwi2 ... 2023-08-09T19:36:30.871Z INFO - Container project-dev_7_1fdb9d01 for site project-dev initialized successfully and is ready to serve requests.
问题现象
执行printenv命令时,无法看到任何环境变量,包括启动时设置的WEBSITE_AUTH_ENABLED等变量。
已尝试的操作
- 已知启动文件或命令存在问题,此为一次失败测试
- 已尝试禁用「启用持久存储」,但未解决问题:

- 容器内无法访问任何应用设置中的变量:

内容的提问来源于stack exchange,提问作者Simon
相关产品推荐
相关产品推荐

