2017-09-25 116 views
0

当我在Azure上创建Web应用程序时,需要部署我的代码 - 我可以将文件放到/site/wwwroot文件夹中。如何在Azure App Service上安装定制Docker镜像文件夹Linux

但是,当我尝试构建自定义泊坞窗图像我不明白如何有相同的行为。在官方形象 - https://github.com/Azure-App-Service/php/blob/master/7.0.6-apache/Dockerfile,我看看代码:

ln -s /home/site/wwwroot /var/www/html 

但它不是我的工作(我不明白为什么)。

我Dockerfile看起来是这样的:

FROM php:7.0.6-apache 
RUN ln -s /home/site/wwwroot /var/www/html 
CMD ["apache2-foreground"] 
+0

您需要的文件保存的当前背景和COPY然后使用Dockerfile COPY命令。比如'COPY mysite/var/www/html',并且不需要'ln -s'语句 –

+0

@TarunLalwani我想通过将文件复制到'/ home/site/wwwroot'来部署我的代码(通过FT的默认行为)。如果我将使用“复制” - 我需要在每次编码后编辑图像。 –

+0

您的计算机上的文件夹“/ home/site/wwwroot”?如果是,那么这只能通过卷。 'docker run -v/home/site/wwwroot:/ var/www/html imageid' –

回答

0

在应用设置中查找此设置:WEBSITES_ENABLE_APP_SERVICE_STORAGE。确保它设置为true。默认情况下,“容器的Web应用程序”(带有自己的容器的实例)的存储装配已关闭。这是为了防止应用程序重新启动,例如存储故障转移等。如果您包含此设置并将其设置为true,它将像我们的官方图像一样安装。我们正在努力通过除应用程序设置之外的其他方式使这更透明和可设置。

Image of App Setting

+0

谢谢,但它不帮助。我做什么:1.在Linux上创建Web应用程序; 2.使用appsvc/php; 3.将WEBSITES_ENABLE_APP_SERVICE_STORAGE更改为true; 4.重新启动网络应用 –

+0

测试的Web应用程序 - http://appsvc-test.azurewebsites.net/。为了创建我使用上面的步骤。 –

相关问题