コマンド早見表(Conda/docker/docer-compose)
Conda、Docker、Docker Composeを使うたびにコマンドを調べているので、よく使うコマンドを一目で確認できる早見表としてまとめました。備忘録として作成したものですが、お役に立てば幸いです。
Conda/MiniConda
AnacondaやMinicondaを使うと、Python環境を簡単に構築できて便利です。また、仮想環境を作ることで複数のバージョンのPythonや、インストールパッケージの異なるPython環境を作ることができます。
「パッケージのバージョン違いで動かない」とか「なんか環境がおかしくなった」とき、仮想環境であれば、環境を削除して新規に環境を作れば良いので楽です。Pythonが「なんかおかしくなった」はあるあるなので、仮想環境を活用しましょう。
作成済みの環境を一覧する
環境を切り替えたいけど、環境名がわからない場合はこのコマンドを入力すると、環境の一覧が表示されます。
conda info -e
環境を切り変える
環境の切り替えは、以下のコマンドで行います。
conda activate 環境名
Mac OSの場合(Linuxも)は、以下のコマンドでも切り替え可能です。
source activate 環境名
環境を作る
環境を作る場合は以下のコマンドを実行します。私の場合は、githubからコードをcloneして動かす場合などに、テスト環境を利用しています。
conda create --name 環境名 python
pythonのバージョンを指定する場合は、以下のようにします。バージョンは、3.9とかそんな感じで指定。バージョン指定は、特定のバージョン以下でなければ動かないものを動かすときとかに使います。バージョンがなければエラー(わかりにくいのでちゃんと出力を読む)が発生します。
conda create --name 環境名 python=バージョン
環境を消す
環境を消す場合は、以下を実行します。–allをつけることで環境名の環境が削除されます。
conda remove --name 環境名 --all
Docker
起動されているコンテナの一覧を表示
起動されているコンテナの一覧を表示します
docker ps
run状態以外のコンテナも全て表示します。docker rmiで、イメージを消そうとした時に消せない場合、stopなどの状態でコンテナが起動していることがあるのでそれを見つけるのに使います
docker ps -all
コンテナを停止させる
コンテナを停止させる場合は以下のコマンドを使います
docker rm コンテナID
イメージを一覧表示する
イメージを一覧表示します。
docker images
イメージを削除する
イメージを削除します。イメージが多くなりすぎるとディスクを圧迫するので、私の場合は、Dockerfileがあるやつは長期使わない場合は削除してディスクを解放しています。
docker rmi イメージID
色々なものをまとめて削除
停止中のコンテナ、コンテナが利用してないネットワーク、中間イメージなどをまとめて削除する場合は、以下のコマンドを利用します
docker system prune
Docker Compose
Kaggleなどをやるために、Docker環境を利用しています。以下は、自分が使っているDocker環境のファイルです。
環境の起動
docker-compose.yml
の存在するフォルダで、以下のコマンドでdockerコンポーネントを起動します。-dはバックグランド実行です。起動後にWebブラウザ(Chromeなど)で、’http://localhost:8888’にアクセスするとjupyter notebookが開きます。
docker-compose up -d
環境の終了
終了させる場合は、docker-compose.yml
の存在するフォルダで以下のコマンドを実行します。
docker-compose down
Kaggle用に使っている環境のベース
参考までに、kaggle用に使っているdocker-compose.yamlを置いておきます。
以下の3つのファイルを同じフォルダに置いてください。また、フォルダにsrc
フォルダも作っておくと良いです。コンペが終わったら、srcフォルダを削除します。
GPUが必要なものは、Google Colabを使っているので、GPU非対応です。GPUを使う場合は、公式などを参考にしてください(リンク)。
GPUを使わない、pandasのデータ操作やlightGBMなどは、colabよりMacbook Air(M2)の方が高速なので、dockerを使っています。
version: "3"
services:
notebook:
build : ./
ports:
- "8888:8888"
volumes:
- ./:/work
FROM continuumio/anaconda3:latest
# reproject の pip install に gcc が必要だったので
# apt install しておきます
RUN apt update && \
apt install -y build-essential
# 追加でインストールしたい python モジュールです
# RUN pip install astroquery \
# reproject \
# ads
COPY requirements.txt /tmp
RUN pip install -r /tmp/requirements.txt
# ホスト PC の data フォルダへ繋ぐ入口です
RUN mkdir /work
# jupyter の起動パラメータを設定します
EXPOSE 8888
CMD ["jupyter", "notebook", \
"--port=8888", \
"--ip=0.0.0.0", \
"--allow-root", \
"--no-browser", \
"--NotebookApp.token=''", \
"--NotebookApp.notebook_dir='/work'"]
numpy
pandas
matplotlib
jupyter