B“ H
我想使用Azure Web应用程序来托管用于wordpress的登台服务器。 确保分期尽可能近的最佳方法似乎是码头工人。
我在开发机上使用docker-compose
,它的运行效果很好。我想在天蓝色上复制该设置。
我的docker-compose.yml文件设置了三个容器1)mysql 2)phpMyAdmin 3)my-wordpress-container
我装载了三卷
- ./data/mysql:/var/lib/mysql
- ./data/init/:/docker-entrypoint-initdb.d
在db容器和
- ./site/wp-content/uploads:/var/www/html/wp-content/uploads
在wordpress容器中。
最重要的是/docker-entrypoint-initdb.d
文件,用于使用测试数据引导数据库。
我将如何在Azure Web应用程序中实现这一目标?
在回答之前...请不要解释如何使用docker-compose在App服务上部署多个容器。或发布指向在该环境中托管Wordpress的教程的链接。这既简单又不够有用。
此外,请不要发布有关在Web应用程序中挂载文件共享的链接。这也很简单。
问题是如何将文件共享安装到多容器设置中。具体来说,我可能如何能够安装/docker-entrypoint-initdb.d
来使用测试数据来引导数据库。
这在容器实例中完全可行。但是,还有其他功能使其无法用于此解决方案。
答案 0 :(得分:1)
从文档中
Azure Storage可以使用定制ID与多容器应用程序一起挂载。要查看自定义ID名称,请运行
az webapp config storage-account list --name <app_name> --resource-group <resource_group>
。在您的docker-compose.yml文件中,将volumes选项映射到custom-id。例如:
wordpress:
image: wordpress:latest
volumes:
- <custom-id>:<path_in_container>
答案 1 :(得分:0)
有一种方法可以从Azure Web应用程序挂载磁盘,只需使用Google“从Azure Web应用程序挂载磁盘”即可。 TOM KERKHOVE有一篇不错的博客文章。
但是,我不建议您这样做,目前Azure存储REST API似乎更稳定https://docs.microsoft.com/en-us/rest/api/storageservices/
答案 2 :(得分:-1)
Azure Web-Apps现在可以预览多个容器。 Web-Apps确实将MySql作为实例的一部分提供。但不建议在要扩展Web应用程序时使用。因此,最好将MySQL作为服务托管在MySQL中。
如果转到下面的链接,它将引导您如何在具有多个容器的Azure Web-App中托管Wordpress和Redis。使用My-SQL Service进行数据库和持久性存储。
https://docs.microsoft.com/en-gb/azure/app-service/containers/tutorial-multi-container-app
如果您仍然想在docker中运行MySQL,则可以考虑使用Azure Kubernetes Service托管所有容器。
我希望这会有所帮助。