背景
- docker container内部に入ってコマンド操作をしたい時がある。
docker-compose exec [service name] /bin/sh
を使用して入るという方法は煩雑。- docker container上でvs codeを起動しているような状態で作業したい。
目標
- docker container上でvs codeを起動しているような状態を実現する。
どうやって実現するのか?
- vs codeの拡張機能「VS Code Remote Containers」を使用する。
VS Code Remote Containersとは?
- ローカル側のvscodeをコンテナに接続できる拡張機能
- 画像の通り、コンテナ上でvscodeを起動しているような形で使用できる。
(画像引用:https://code.visualstudio.com/docs/remote/containers)
前提環境
- macOS 11.4 (20F71)
- arm64(M1)
- Docker Desktop
- Visual Studio Code
- VS Code拡張機能 VS Code Remote Containers
「VS Code Remote Containers」の有効化
- vs codeの拡張機能の「Remote - Containers」をインストールして有効化します。
入りたいdocker containerを立ち上げておく
- 「Remote Containers」を使用するには接続先となるcontainerが必要です。
- 私の下記の過去記事を参考に、「alpine」のコンテナを立ち上げておいてください。
【環境構築】dockerでAlpine Linux(os)だけのコンテナを立ち上げる方法 - Qiita背景必要な環境がdockerhubにない場合、自力でカスタマイズしたdockerfileを作成したい。その実験環境として、osのみが入ったコンテナ環境が欲しい。目標最低限のosのみが入ったコ…
「Remote Containers」を使用してコンテナ内部に入る
小ネタ:コンテナのルートディレクトリでフォルダを開く方法
- 接続は上記の操作で完了なので、あとは焼くなり煮るなり好きに使うと良い。
- ただ、個人的に、コンテナ内部のルートディレクトリでフォルダを開いた状態にしたいことが多いのでそのやり方だけ紹介する。
参考資料
![](https://takuma-tech.com/wp-content/uploads/cocoon-resources/blog-card-cache/dbb9a62cbb0e1dfaa20943f983507ed1.png)
Developing inside a Container using Visual Studio Code Remote Development
Developing inside a Container using Visual Studio Code Remote Development
![](https://takuma-tech.com/wp-content/uploads/cocoon-resources/blog-card-cache/d4a7bfa7e893d8599c42cfacf26dc4ff.png)
DockerとVS Code Remote Containersを用いたフロントエンド開発環境構築
Qiita記事
![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fcdn.qiita.com%2Fassets%2Fpublic%2Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png?ixlib=rb-4.0.0&w=1200&mark64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9JUUzJTgwJTkwJUU3JTkyJUIwJUU1JUEyJTgzJUU2JUE3JThCJUU3JUFGJTg5JUUzJTgwJTkxRG9ja2VyJTIwY29udGFpbmVyJUU1JTg2JTg1JUU5JTgzJUE4JUUzJTgxJUFCVlMlMjBDb2RlJUUzJTgxJUE3JUU1JTg1JUE1JUUzJTgxJUEzJUUzJTgxJUE2JUU0JUJEJTlDJUU2JUE1JUFEJUUzJTgxJTk5JUUzJTgyJThCJUU2JTk2JUI5JUU2JUIzJTk1JnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmdHh0LWNsaXA9ZWxsaXBzaXMmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz1hZTIyMGFjOGU2YjQ1OTgyOGZmYjFjMDBmNmUxZGZkZg&mark-x=142&mark-y=112&blend64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQwdGFrdW1hLTEyMzQmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPWZhODg3ZDUyYTk5ZmU2ODc3OTllNDljODRkYjk3NzVm&blend-x=142&blend-y=491&blend-mode=normal&s=8d6ddf6b52cc52728df752076e8899a4)
【環境構築】Docker container内部にVS Codeで入って作業する方法 - Qiita
背景docker container内部に入ってコマンド操作をしたい時がある。docker-compose exec /bin/shを使用して入るという方法は煩雑。docker container上でvs codeを起動しているような状態で作業したい…