はじめに
VisualStudioCodeのRemoteDevelopment(SSH)は、ベースOSにAlpineLinuxを使用したコンテナはサポートしていますが、AlpineLinuxを使用したリモートサーバーはサポートしていません(公式ドキュメント)。
しかしながら、必要なパッケージと適切な設定で、AlpineLinuxサーバーでも概ね動かすことができます。
この記事では、AlpineLinuxがインストールされたサーバーに、RemoteDevelopmentでアクセスできるようになるための覚書を書いていこうと思います。
手順
手順は以下の3つです。
- AlpineLinuxのインストール
- パッケージのインストール
- sshdサーバーの設定
1. AlpineLinuxのインストール
まずはリモートホストにAlpineLinuxをインストールします。インストールに関しては過去の記事をご参照ください。
2. パッケージのインストール
RemoteDevelopmentには次のパッケージが必要です。なおcurlはwgetでも構いません。
- gcompat
- libstdc++
- curl または wget
- bash
# apk add gcompat libstdc++ curl bash
3. sshdサーバーの設定
/etc/ssh/sshd_config の以下の項目をyesに変更します。/etc/ssh/ssh_configという似た名前のファイルがあるので、間違えないようにしてください。
AllowTcpForwarding yes
PermitTunnel yes
変更したら再起動を忘れずに。
# rc-service sshd restart
接続してみる
VSCodeで接続してみると以下のようなエラーが出るかと思います。
The remote host may not meet VS Code Server's prerequisites for glibc and libstdc++
これだけはどうしようもないので無視してください。
最後に
いかがだったでしょうか。意外と簡単だと思っていただければ幸いです。AlpineLinuxはコンテナのベースOSとして一躍注目を浴びましたが、標準ライブラリにmuslを使っていてアプリケーションの動作に影響することがあったり、DebianSlimなどの軽量OSがでてきたこともあって、一時ほど話題にならなくなりました。
しかし、一時的な流行で終わらせるにはもったいないほどポテンシャルを秘めていることもまた事実です。
この記事があなたのAlpineライフの一助になることができればうれしいです。