タダです。
今回はDocker実践活用ガイドの10章を読んだ内容をまとめていきます。 ※記事は理解ができるたびに何度もアップデートしていこうと思います。 book.mynavi.jp
なお、副教材としてドットインストールも使っていこうと思います。
目次
なお、各章の内容は次の通りです。
- 1章 Dockerとは
- 2章 Dockerの仕組み
- 3章 Dockerのインストール
- 4章 Dockerを使ってみよう(コマンド編)
- 5章 Dockerを使ってみよう(Kitematic(GUI)編)
- 6章 Dockerイメージの操作
- 7章 Dockerを使いこなす
- 8章 複数のDokcerを使う(Docker Machine、Docker Swarm、Docker Compose)
- 9章 Dockerをクラウドで使う(Docker Cloud)
- 10章 DockerとJavaScriptでウェブサービスを作る(簡易オンラインジャッジシステム)
- 11章 Dockerを利用した実運用ウェブサービス構築事例(paizaオンラインジャッジシステム)
- 12章 paizaの実行環境APIを使いウェブサービスを作る(簡易オンラインジャッッジシステム)
- 13章 Dockerの内部
10.1~10.2
- paizaのプログラミング支援サービスは以下の処理を行う
- 1.サービスがプログラミング問題をユーザに出す
- 2.ユーザが回答コードを書く
- 3.ユーザが回答コードをサービスに提出する
- 4.サービスがコードを実行する
- 5.サービスが出力を判定する
- 6.サービスがユーザに結果を表示する
- 上記のサービスを実行する環境として隔離された実行環境を素早く作れるDockerが適切
10.3
- オンラインジャッジシステムの仕様は以下のとおり
- ブラウザで利用できるサービス
- ユーザは、プログラミング言語を選択し、コードを書いて提出する
- 提出されたコードをDockerコンテナで実行し、出力結果を表示する
- 開発環境として、Dockerに環境を作る
- 以下のDockerfileを作る
- ビルド時にこけたので、
apt-get update
前にapt-get clean
を実行したら成功した
- ビルド時にこけたので、
FROM ubuntu RUN apt-get update RUN apt-get install -y ruby RUN apt-get install -y python RUN apt-get install -y clang RUN apt-get install -y time RUN apt-get install -y binutils
- docker imagesコマンドで確認する
docker images REPOSITORY TAG IMAGE ID CREATED SIZE ubuntu-dev latest 4fc18e13d011 6 minutes ago 571MB
- サーバーで実行するコードを書いて、Dockerを起動
- コンテナを実行できたら、Node.jsをインストールする
npm install
- Node.jsがインストールできたら、
node app.js
でプログラムを実行する
- コンテナを実行できたら、Node.jsをインストールする
docker run \ > -v $HOME/conderunner:$HOME/coderunner \ > -v /usr/local/bin/docker:/usr/local/bin/docker \ > -v /usr/bin/docker:/usr/bin/docker \ > -v /var/run/docker.sock:/var/run/docker.sock \ > -w $HOME/coderunner \ > -p 3000:3000 \ > --rm -i -t node /bin/bash
- フロントはHTMLとJavaScriptによるコードの解説のため、割愛
10.4
- 10.3の章で作ったアプリケーションを使うだけなので割愛
次回は11章です。