はじめに
普段の業務での開発環境はUbuntuなのですが、わけあって私物のwin10 Homeで開発をする機会ができたので、そのときの環境構築手順のメモです。
普段業務で散々お世話になっているので、いい機会だと思い初投稿。
やりたいこと
- Pythonの開発環境を作りたいが、Anacondaは結構な頻度でハマるポイントに出会うので使いたくない
- 普段使う開発環境(Ubuntu 18.04 LTS)になるべく近付けたい
ということで、Docker入れてubuntuのコンテナをpythonのバージョン毎に個別に建てるのが何も考えずに出来てきっと楽。
pythonのライブラリはrequirement.txt作って使いまわし、python自体のバージョンはDockerfileの時点で書き換えるつもり。
0. 実行時の環境
作業開始時点で環境構築に影響がありそうなのは以下くらい。
- Windows10 Home
- Git for Windows(2.18.0.windows.1)
基本的にGit bash使って作業しています。
1. Dockerのインストール
Docker for WindowsはHomeだと使えないので、Docker Toolboxをインストールする。
https://github.com/docker/toolbox/releasesから最新版のインストーラをダウンロードし実行。記事作成時は19.03.1でした。
終了後、以下の3つのアイコンがデスクトップに作成されているはずなので、一番右のDocker Quickstart Terminalを実行。
ターミナルが立ち上がって初期設定が始まるので、しばらく待つ。DockerのクジラのAAが無事出れば多分無事成功
2. Docker周りの準備
無事Dockerのインストールが終了したので、ubuntuのイメージを持ってくる
$ docker pull ubuntu:18.04
無事pull出来ていれば、以下のコマンドで確認できる。
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu 18.04 ccc6e87d482b 3 days ago 64.2MB
3. Python環境の準備
上記imageをベースにpythonの開発環境が整ったimageを作成するため、適当なディレクトリを作り、Dockerfileを用意。
よく使うDockerfileの中身はこんな感じ。RUNたくさん使うとレイヤーが増えて良くないとか見た気もするけど、自分で使うだけなので気にしない方針。
python3.8とかにしたい場合は、Dockerfileの中身のpythonの部分だけ書き換えれば多分問題ないです。
FROM ubuntu:18.04
RUN apt update && apt upgrade -y
RUN apt install vim python3.7 python3.7-distutils curl -y
RUN ln -s /usr/bin/python3.7 /usr/bin/python
RUN curl "https://bootstrap.pypa.io/get-pip.py" -o "get-pip.py" && python get-pip.py
RUN apt autoremove
上記を元にimageを作成。
# imageの作成
$ docker build -t <image name> .
# 作成したimageの確認(今回はu18_py37という名前で作成)
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
u18_py37 latest 86bc6cf8e1a9 7 hours ago 214MB
ubuntu 18.04 ccc6e87d482b 3 days ago 64.2MB
4. 実行
上記imageを使ってコンテナをたてる。
$ docker run --net host --name test -v //c/Users/<User Name>/docker:/wrk -it u18_py37 bash
おわりに
とりあえず環境構築自体はこんな感じでしょうか。
ここのやり方良くない等、ご指摘あればよろしくお願いします。
作った環境で初めてwebAPI叩くコード書いたりするのですが、それはまたそのうち別記事で。