BLOG

 

235日のセブIT留学  成長日記「Dockerにローカル環境を作成する」 ( 51/235 days )

28 8月 2018, Posted by keisuke in Docker, Python

こんばんわ!Keisukeです!

 

インフラ系をいじったことのない人がインフラを整えようとすると異常に時間がかかるんですね!

本当に時間がかかりました…

 

インフラ系は苦手分野のようです…

 

今回は, Dockerを用いてPython3の実行環境を構築したいと思います!

Dockerは以前にも話に上がりましたが, 仮想環境内にコンテナを立ち上げその内部で開発などを行います!

 

やりたいこと

・Docker上にPythonの開発環境を構築

・Pythonを実行

 

欲しい機能

・コンテナ内で使用するコードを保存しておく場所をPC上に設置する

 

前提条件

Docker for Windowsがインストールされている

・Windows10 Pro

Hyper-V利用可能

 

やり方

Dockerの起動に必要となる

・Dockerfileの作成

・docker-compose.ymlの作成

 

僕が一番苦労したのは, このDockerfileです…

Dockerfileはコンテナのイメージなどが記述されており, これを使えばいつでも同じ環境を作れますよ!っといったものなのですが…

 

???

作り方は?拡張子は?そもそも書き方がわからん!!!

という感じでした.

結論は, 自分で作らなくても良い!でした…(笑)

作れることこした事はないですが自分で作らなくてもインターネット上にたくさん転がってました!

 

Docker事態の使い方もインターネット上を見て何となくはつかめました

最も効率が良かったのは, YouTubeを見ながらやるのが一番でした!

 

画像と文章では伝わらない部分が動画にはあるのでかなりお勧めです。

 

手順

※ PC–自分のパソコンのこと  コンテナ–Docker内のこと

 

①PC上で好きな場所にファイルを作成する。

②①で作ったファイルの中に以下のファイルを作成する

 

何かしらのエディターで書いて拡張子消せばOK

・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

 

version: ‘3’

services:

python3:

restart: always

build: .

container_name: ‘python3’

working_dir: ‘/root/’

command: ‘tail -f /dev/null’

volumes:

– ./opt:/root/code

 

③ 作成したファイル上でコンテナを起動!

docker-compose up -d –build

 

④ コンテナに接続!

docker exec -it python3 bash

 

PS C:\Users\user\Desktop\local\docker_python> docker exec -it python3 bash

root@cdfcc2e20d07:~#

 

⑤ ファイルを確認する!

 

コンテナ上のファイル確認!

root@cdfcc2e20d07:~# ls

 

code

 

PC上の作ったファイルを確認!

– Dockerfile

– docker-compose.yml

– code

 

codeの中にコードを入れればコンテナ上にも反映されます!

 

⑥ Pyhton の実行

 

PC上の中に以下のコードを入れてみます!

 

code

hello.py

 

hello.py

print(‘Hello world!, Hello Docker!’)

 

コンテナ上でcodeの中に入る

root@cdfcc2e20d07:~# cd code

 

Pyhtonの実行!

root@cdfcc2e20d07:~/ code#

python hello.py

 

実行結果!

Hello world!, Hello Docker!

 

⑦ コンテナから脱出!

root@cdfcc2e20d07:~/ code# exit

 

上記の流れを追えばDocker上でPythonを実行できます。

また, matplotなどを使用したい場合はコンテナ上で

root@cdfcc2e20d07:~/code# python -m pip matplotlib

 

でインストールできます!

 

やっとDockerの使い方をつかめた感じです!

今後は, Docker上でMySQLに接続してPythonの処理に使うデータをMySQLから引っ張ってきたりしたいですね!

 

[今日の達成]

・Docker上でPythonを実行した!

 

[今日の未消化]

・Docker上からMySQLに接続する!

 

Post a comment