试试 Web App for Containers 的多容器功能
在 Build 2018 中,Azure App Service 推出了 Web App for Containers 的多容器预览版本。
我原本可以展开单个容器,但是现在似乎可以上传compose或k8s的pod,并部署多个容器。
我想立即尝试一下。
环境准备的中文本地化
创建用于容器的网络应用程序
准备docker-compose.yml文件
- こんな感じで作りました。
version: '3'
services:
db:
image: mysql:5.7
environment:
MYSQL_ROOT_PASSWORD: wordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
wordpress:
image: wordpress:latest
ports:
- "80:80"
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
请注意compose文件的编写方式!
虽然写着“轻轻松松做好了”,但实际上我多次部署失败了。
可能是因为预览阶段吧,写法中有一些独特的地方。我将列举我遇到的问题。
-
- 拡張子は.ymlにしましょう。.yamlだと動きません。
- environmentは=ではなく:で繋ぎましょう
MYSQL_USER=wordpress
MYSQL_USER: wordpress
-
- depends_onは書いてもいいですが、現時点では動作しません。(そのうちサポートするようです)
-
- なので、後続処理(ここではmysql)から先に書いています。
- 今回の例では書いていませんが、commandはリスト形式で書きましょう
command: bundle exec thin -p 3000
command: ["bundle", "exec", "thin", "-p", "3000"]
部署
我来确认一下是否已经部署了。
如果部署失败了怎么办?
让我们修改 docker-compose.yml 并重新更新一次。
但是如果频繁上传,有时候会出现无法响应的情况……
概括起来
预览版中有一些令人遗憾的地方,但我觉得Web Apps和Docker这样的搭配似乎非常合适。
似乎还可以使用类似于Swarm等交换机,并且因为基础设施是App Service,所以有一种安心感。
根据系统的不同,可能也会有不需要像AKS这样的编排器的模式吧?
你期待发布吗?