Problem

前回はRHELでPython3を使えるようにしましたが、何か微妙になりました。

なので、DockerにPython3を使える環境を用意することにしました。

Preparation

既に先人の方が、Dockerファイルを用意してくださっています。
しかも、pip付きで。

下記の内容をDockerfileという名前で任意のフォルダに保存します。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
FROM ubuntu:16.10
MAINTAINER kekedadamama

RUN apt-get update -y && apt-get install -yq wget build-essential gcc zlib1g-dev

WORKDIR /root/
RUN wget https://www.python.org/ftp/python/3.6.0/Python-3.6.0.tgz \
&& tar zxf Python-3.6.0.tgz \
&& cd Python-3.6.0 \
&& ./configure \
&& make altinstall
ENV PYTHONIOENCODING "utf-8"

WORKDIR /

続いて、保存したDockerfileのある場所で下記のコマンドを実行します。

1
2
3
$ sudo docker build .
... Removing intermediate container 6c279bffa616
Successfully built a86393df781f

これでビルドが実行されイメージが生成されます。

ですが、上のページだとDockeファイルの名前が、DockerFileになっており、

1
$ unable to prepare context: unable to evaluate symlinks in Dockerfile path: lstat /home/takuya/DockerFiles/Ubuntu-Python36-pip/Dockerfile: no such file or directory

というエラーが表示され5分ほど悩んでいました。
正しくはDockerfileです。大文字小文字を区別する模様。面倒な。

Try

イメージが生成されているので、dockerで実行するだけです。
Portainerで実行しても構いません。
細かい実行の際の設定は

を参考に。

Pythonは

1
2
$ python3.6 -V
Python 3.6.0

です。
必要なら

1
$ alias python='python3.6'

で使いやすく出来ます。
以上で環境の構築は終わりです。