概要
Mac内でPythonのライブラリなどをインストールしようとしたらいろいろ面倒だったので、使い捨てできる環境が欲しくて作ってみたのでメモする。
ファイル構成
下記の構成になります。
ファイル一覧
├ Dockerfile
├ docker-compose.yml
└ opt
Dockerfile
公式コンテナを使って作る。
FROM python:3
USER root
RUN apt-get update
RUN apt-get -y install locales && \
localedef -f UTF-8 -i ja_JP ja_JP.UTF-8
ENV LANG ja_JP.UTF-8
ENV LANGUAGE ja_JP:ja
ENV LC_ALL ja_JP.UTF-8
ENV TZ JST-9
ENV TERM xterm
RUN apt-get install -y vim less
RUN pip install --upgrade pip
RUN pip install --upgrade setuptools
docker-compose.yml
下記の内容で作成する。
docker-compose.yml
version: '3'
services:
python3:
restart: always
build: .
container_name: 'python3'
working_dir: '/root/'
tty: true
volumes:
- ./opt:/root/opt
コンテナ起動
下記コマンドにて、コンテナを起動する。
ターミナル
$ docker-compose up -d --build
使いたいライブラリを追加
コンテナへ接続
ターミナル
$ docker-compose exec python3 bash
各種ライブラリをインストール (任意)
ターミナル(python3コンテナ)
$ python -m pip install numpy
$ python -m pip install pandas
$ python -m pip install matplotlib
$ python -m pip install networkx
$ python -m pip install pyyaml
$ python -m pip install xlsxwriter
$ python -m pip install tornado
インストールしたライブラリの確認
ターミナル(python3コンテナ)
$ python -m pip list
Package Version
--------------- -------
cycler 0.10.0
decorator 4.3.0
kiwisolver 1.0.1
matplotlib 2.2.2
networkx 2.1
numpy 1.14.3
pandas 0.22.0
pip 10.0.1
pyparsing 2.2.0
python-dateutil 2.7.2
pytz 2018.4
PyYAML 3.12
setuptools 39.1.0
six 1.11.0
tornado 5.0.2
wheel 0.31.0
XlsxWriter 1.0.4
要らなくなったら...
利用が終わって不要になったらコンテナごと下記コマンドにて削除する。
ターミナル
$ docker-compose down
以上です。