Nowのv2以降はDockerfileに対応しなさそう


これは何?

ZeitのPaaSであるNowは、この先Dockerfileのサポートする?っていう話です。
調べてたら長くなったので記録にしました。

NowでDockerfileを使う

Serverless Docker Beta
https://zeit.co/blog/serverless-docker

v1はDockerfileに対応している

now.json
{
    "version": 1,
    "type": "docker",
    "alias": "ubuntuman"
}

これでDockerfile置いてnowすればOK。

v2はDockerfileに対応していない

now.json
{
    "version": 2,
    "type": "docker",
    "alias": "ubuntuman"
}

これでnowすると失敗する。

machida@DESKTOP-EP8ECJ4:/mnt/c/dev/ubuntuman$ now
> Deploying /mnt/c/dev/ubuntuman under town-field
> Using project ubuntuman
> Error! The property `type` is not allowed in now.json when using Now 2.0 – please remove it.

2.0ではtypeは取り除いてね、って書いてある。
そうすると、Dockerfileを指定することは不可能?

Nowのチャットルームを覗いた

ユーザー側が「v2でDockerfileサポートする予定ある?」って聞いてます。
チャットは長いですが、ユーザーと開発チームがいろんなおしゃべりしてるので、気になった方は覗いてみると面白いと思います。

以下は開発チームのコメントの気になるところを抜粋して訳してます。

開発チームコメント1

少し明確にすると:Now v1をもうすぐシャットダウンするつもりはありません。 v2上のv1の最も一般的でクリティカルなユースケースに対応できるようになったら、非推奨計画について検討を始めることにします。

開発チームコメント2

はい、最終的にはDockerのサポートを削除する予定です。

開発チームコメント3

私たちはこれがプラットフォームにとって正しい方向であることを100%確信していることを皆に再保証したいと思います。
私が深く展開とコード実行の未来であると確信していなかったら私達はこれを2.0と呼びません。

おわり

v2でDockerfileいつ対応されるかな~と思ってたらこんな情報に行き着きました。

チャット内ではもっといろいろ話し合われていたのですが、開発チーム的にはDockerfileをサポートする予定はなさそうですね。
ただ、「最終的には廃止していきたい」っていう意向なのでv1は使えるように残してる、ということみたいです。
残念と言えば残念ですがNowは軽くて好きなので、node.jsとかで今後も使いどころを選んで利用させてもらおうと思います。

他のサービス

チャットでのユーザー間のやり取りで、Dockerfileのホスティングの代替としてHyper.shというPaaS(というよりContainer as a Service?)が紹介されてたので使ってみようと思います。