LoginSignup
5
2

More than 3 years have passed since last update.

VS CodeのRemote Containersを使うときはdocker-composeのバージョンに気をつけよう

Last updated at Posted at 2019-06-29

Visual Studio CodeのRemote Containersを使おうとしたところ、コンテナの生成から先に進まなくなってしまったので調査しました。

2019/7/5追記

Remote - Containers - Visual Studio Marketplace にdocker-compose.ymlのバージョンについて記述がありました。

System Requirements
Local: Docker Desktop 2.0+ for macOS/Windows or Docker CE/EE 18.06+ and Docker Compose 1.21+ for Linux. Docker Toolbox and Ubuntu snap packages are not supported. For Windows, Windows 10 Professional or Enterprise is required due to the requirements of Docker Desktop or Windows. See the minimum requirements for VS Code for additional details.

Visual Studio Code Remote Development ばかり確認して気づいていなかったです。失礼いたしました。

結論

docker-compose 1.21 以上を使いましょう。

作業環境

$ docker-compose --version
docker-compose version 1.20.1, build 5d8c71b
$ docker --version
Docker version 18.09.5, build e8ff056
$ cat /etc/os-release
NAME="Ubuntu"
VERSION="16.04.6 LTS (Xenial Xerus)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 16.04.6 LTS"
VERSION_ID="16.04"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
VERSION_CODENAME=xenial
UBUNTU_CODENAME=xenial

プロジェクトは Visual Studio CodeのRemote ContainersでC++開発環境構築 - Qiita で作成したものを利用しました。

エラー内容

対策内容としては結論で書いたぐらいしかないのですが、どんな症状が出たのかを簡単に記録しておきます。

以下のキャプチのの通り、Creating vscode-cpp-devcontainer_devcontainer_cpp_1 ... doneで停止してしまいました。

Screenshot at 2019-06-29 11:20:00.png

正しく起動出来た場合は Run: docker exec df6486edb33df0f92dd9b283dbae022de9e0ea98ab7baff7b527aebcf017348b test -d /root/.vscode-serverとvscode serverの起動や拡張機能のインストールが始まります。

Screenshot at 2019-06-29 11:42:51.png

対応バージョン

docker-compose 1.20.1でエラーが出たので、周辺のバージョンで試してみました。
おそらく1.21以上であれば問題ないでしょう。
1.21のどの修正が効いているのかは確認できていませんが

バージョン 起動可否
1.19
1.20
1.21
1.22
1.23
1.24

おわりに

今後新規に構築する場合は発生しにくい事象だとは思いますが、地味にハマったので記録しておきます

5
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
2