はじめに
Visual Studio Code(以下、VSCode)を、Dockerfile内でインストールする際に、途中で止まってしまう現状が発生するようになったため、対処方法を紹介する。
動作確認環境
- Ubuntu 20.04
現象
VSCodeをDockerfile内でインストール中に以下のメッセージが出て、インストールが途中で止まってしまう。
The installer would like to add the Microsoft repository and signing key to update VS Code through apt.
Add Microsoft apt repository for Visual Studio Code? [はい/いいえ]
対処方法
方法は公式ドキュメントに記載の通り。ポイントは、VSCodeをインストールするスクリプトの前に以下を実行することで、aptリポジトリ追加時のインタラクティブモードを無効にすることができる。
echo "code code/add-microsoft-repo boolean true" | sudo debconf-set-selections
上記を実行後に、以下のVSCodeのインストールスクリプトを実行する。
aptリポジトリの追加。
sudo apt-get install wget gpg
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg
sudo install -D -o root -g root -m 644 packages.microsoft.gpg /etc/apt/keyrings/packages.microsoft.gpg
echo "deb [arch=amd64,arm64,armhf signed-by=/etc/apt/keyrings/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main" |sudo tee /etc/apt/sources.list.d/vscode.list > /dev/null
rm -f packages.microsoft.gpg
VSCodeのインストール。
sudo apt install apt-transport-https
sudo apt update
sudo apt install code # or code-insiders
Dockerfileの場合は以下のようにする。
RUN echo "code code/add-microsoft-repo boolean true" | sudo debconf-set-selections && \
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg && \
sudo install -D -o root -g root -m 644 packages.microsoft.gpg /etc/apt/keyrings/packages.microsoft.gpg && \
echo "deb [arch=amd64,arm64,armhf signed-by=/etc/apt/keyrings/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main" | sudo tee /etc/apt/sources.list.d/vscode.list > /dev/null && \
rm -f packages.microsoft.gpg
RUN apt install -y apt-transport-https && \
apt update && \
apt install -y code && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
まとめ
VSCodeをDockerfile内でインストールする際に、インストールが途中で止まってしまう場合の対処方法を紹介した。
参考