AnacondaのコンテナにVSCodeから接続する方法

2022-09-18

 前の記事「M1(Apple Silicon)チップのMACでDockerを用いてAnacondaの環境を構築する」の続きで、Dockerで構築した環境をVS Codeから使用するための設定です。

VSCodeからコンテナに接続する

 まずはDokerを起動します。

docker start CONTAINER_NAME

 次にVSCodeを開いて「Remote- Container」をインストールします。

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

メニュー Menu

 通常であればこちらの手順でうまくいくはずですが、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からダッシュボードから、コンソールを開いてyam installからtarコマンドをインストールします。

sh-4.2# yum install tar
Loaded plugins: ovl, priorities
amzn2-core                           
...
Complete!

 もう一度「Attach to Running Container」から進めていくとコンテナにアクセスができると思います。

プログラムを実行する
Run the program

 プログラムがあるフォルダを開きます。

 そのままVSCodeで.ipynbを動かすと「Failed to find a kernelspec to use for ipykernel launch」とエラーメッセージが表示されるので、JupyterとPythonの拡張機能のインストールを行います。

 Pythonの実行先は「/opt/conda/bin/python」を選択します。

 VSCodeの再起動をしてください。

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

 これでM1 MacでのPythonの環境準備はある程度整ったかと思います。
それではプログラムを楽しんでください。 Let’s Python!!