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

2022-10-08

概要

目的

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

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

接続先の選択

まずはDokerを起動します。

docker start CONTAINER_NAME

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

図 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からダッシュボードから、コンソールを開きます。

図 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の拡張機能のインストールを行います。

図 Jupyterのインストール
図 Pythonのインストール

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

図 実行するPythonの選択画面

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

図 VScode上での実行画面

まとめ

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