Dockerの使い方 1
導入部分を今日も進めていきます。
今日は環境構築するところまでやりたいですね。
前回では導入をやりました。
あれからDjangoの紹介を読んで、pythonのWeb開発フレームワークであるところは理解しました。
リクエストに対して、view関数が中心に動作して、各段階でmodel関数やtemplate関数を適宜呼び出しているようでした。
では、さあやろう
と思ったら、チュートリアルが限定公開になっているのに気づいた。
まあこのブログは勉強用のメモにしている所もあるけれど、一応リンクは公開用のモノのみにします。
バージョン管理はGitでやって、Docker上に構築した環境でDjangoを動かすらしい。
開発系だとDockerの使い方には慣れた方が良いのかもしれませんね。
Windows10 ではDocker toolboxという代替手段があるようです。
Docker
今日はこのサイトで勉強していく。
去年Dockerについて調べたときはこんな親切なサイトはなかった。調べ直すのって大切だ。
DockerはGitni似ている感じがする。こっちは開発者全員が同じ環境を使って開発するためのツール。
共通のコンテナで作業するためにクラウド上で展開していて、image
をpull
したり、image
を指定してrun
したりする。
image
はインストールされているOSやpythonなどをlayer
としてそれぞれパッケージしている。このため、自分の作業環境にすでに存在しているパックはpullせず、容量と時間の節約になる。
image
のrun
でコンテナは作られる。$docker run {IMAGE名}
runのあとで、コマンドの実行が可能。
$docker run -it {IMAGE名:TAG名} {コマンド}
-it
はコンテナ内に入ったあと、自動的に退出しないようにするオプション。
コンテナ名は指定しないと自動的に乱数名を着けられるので、--name
コマンドで名前をつけると扱いやすい。
$ docker run --name {コンテナ名} -it {IMAGE名:TAG名} bash
コンテナを止める場合はexit
して、再び入るときresturt
する。
Dockerfile
DockerfileはDocker imageの設計図。コレをビルドすることでimageを作ることができる。
これにより、DuckerHubからpullせずに済む。
中身はLinuxの実行コマンドが書かれている、テキストファイル。
Dockerfileに実行コマンドを残すことで、コンテナ内における行動の履歴になり、そのコンテナがどういうコンテナか、わかりやすくなる。
Dockerまとめ
- Docker超入門⑥〜Docker基本操作フローまとめ〜【初心者向け】 Docker imageを作っておけば、開発環境が簡単に共有できる
なるほど。認識を改めた。
機械学習系でも実行環境がそろっていれば実行しやすいなあ。
次はGitか、Dockerのインストールをやります。