概要

Mac内でPythonのライブラリなどをインストールしようとしたらいろいろ面倒だったので、使い捨てできる環境が欲しくて作ってみたのでメモする。

ファイル構成

下記の構成になります。

ファイル一覧
├ Dockerfile
├ docker-compose.yml
└ opt

Dockerfile

公式コンテナを使って作る。

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/'
    command: 'tail -f /dev/null'
    volumes:
      - ./opt:/root/opt

コンテナ起動

下記コマンドにて、コンテナを起動する。

ターミナル
$ docker-compose up -d --build

使いたいライブラリを追加

コンテナへ接続

ターミナル
$ docker exec -it 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

以上です。

参考サイト

Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.