AnacondaのコンテナにVSCodeから接続する方法
概要
目的
前の記事「Apple Silicon(M1チップ)搭載のMacでDockerを用いてAnacondaの環境を構築する」の続きで、Dockerで構築した環境をVS Codeから使用するための設定を説明します。
VSCodeからコンテナに接続する
接続先の選択
まずはDokerを起動します。
docker start CONTAINER_NAME
次にVSCodeを開いて「Remote – Containers」をインストールします。

左下の緑のボタンを押して、メニューを表示します。

表示されたメニューから「Attach to Running Container」を選択します。すると起動しているコンテナの一覧が表示されますので、接続したいコンテナを選択します。

初回の接続
通常であれば上記の手順でうまくいくはずですが、Anacondaのコンテナではtarコマンドがインストールされていないらしく、以下のエラーが発生します。
[728 ms] Command in container failed: (dd iflag=fullblock bs=8192 count=5479 2>/dev/null; dd iflag=fullblock bs=6633 count=1 2>/dev/null) | tar --no-same-owner -xz --strip-components 1 -C /root/.vscode-server/bin/054a9295330880ed74ceaedda236253b4f39a335_1622330335828
そこで、Dockerからダッシュボードから、コンソールを開きます。

以下のコマンドからtarコマンドをインストールします。yam installからtarコマンドをインストールできます。
sh-4.2# yum install tar
Loaded plugins: ovl, priorities
amzn2-core
...
Complete!
もう一度「Attach to Running Container」から進めていくとコンテナにアクセスができると思います。
プログラムを実行する
ipynbファイルの実行
VSCodeでプログラムがあるフォルダを開きます。

.ipynbファイルを実行するために、コンテナにJupyterとPythonの拡張機能のインストールを行います。


Pythonの実行先は「/opt/conda/bin/python」を選択してください。その後VSCodeを再起動します。

再起動をしてコンテナ接続後、.ipynbを実行するとVSCode上で実行できるようになります。また、通常の.pyファイルもコンテナ環境で実行できるようになります。

まとめ
Dockerで構築した環境をVS Codeから使用するための設定を説明しました。これで、VSCodeとDockerを用いた実行環境がこれで整ったかと思います。Pythonを使って様々なことにチャレンジしてみてください。