プログラミング
記事内に商品プロモーションを含む場合があります

コマンド早見表(Conda/docker/docer-compose)

アイキャッチ画像
tadanori

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

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

記事URLをコピーしました