しばたテックブログ

気分で書いている技術ブログです。

Azure Cloud Shell(PowerShell)がLinuxコンテナになりました。

先週の話*1なのですが、以前、

blog.shibata.tech

でお伝えした様にWindows Serverコンテナで動作しているAzure Cloud Shell(PowerShell)がLinuxコンテナ上で動作する様になりました。

中の人のツイートがこちら。

PowerShell 6.0がデフォルトに

新しいAzure Cloud Shell(PowerShell)を起動すると下図の様になり、Linux(Ubuntu)上でPowerShell Core 6.0がデフォルトで起動する様になっています。

f:id:stknohg:20180709170144p:plain

ちなみに今回試すにあたりCloud Shellを作り直したのですが、最初の画面が

f:id:stknohg:20180709170156p:plain

の様に「PowerShell(Linux)」と変わっていました。

Azure Cloud Shell(Bash)との違い

Azure Cloud Shell(Bash)とAzure Cloud Shell(PowerShell)は同一OS上で動くことになったわけですが、おそらく、同一のコンテナイメージを使っています。

公式な情報は無くコンテナ内を調べてもズバリな情報を見つけることができなかったのですが、両コンテナで/var/log/dpkg.logが完全に一致しており、ここから間接的ではありますが同一イメージだと推測できます。
(さすがに別イメージならdpkg.logは一致しないでしょう...他にコンテナの同一性を調べる良い方法があれば教えて欲しいです...)

このためAzure Cloud Shell(Bash)とAzure Cloud Shell(PowerShell)の違いはログインシェルだけになります。

Azure Cloud Shell(PowerShell)のこれから?

Azure Cloud Shell(PowerShell)が今後どうなるかについては未だ公式なアナウンスはありません。

Azure Cloud Shell(Bash)でもPowerShell Coreは利用できますので、いまとなっては、Azure Cloud Shell(PowerShell)の存在意義は

「ログインシェルをPowerShellにしたい。」

位しか無い様に思えます。
PowerShellが大好きな私から見ても

「これいる?Bashでログインして pwsh って4文字打てば良いだけでは?」

というのが正直な気持ちです。

ここからは完全に私見ですが、現在Azureを管理するためのコマンドはAzure CLIAzure PowerShellの二系統あり、両者の使い分けのためにAzure Cloud Shell(Bash)とAzure Cloud Shell(PowerShell)は分かれたまま残り続けるのかなと思っています。

実際にどうなっていくかは今後の情報を追っていきたい感じです。

*1:ちょっとプライベートが忙しくブログを書き上げるのが遅くなってしまいました...