Hai Adachinです。
今回はdocker-machineにNginxをインストールして、テスト画面を表示させたいと思います。
docker-machineにこだわらず、サーバにdockerをインストールしている環境でも基本は使い方同じです。
そもそもパッケージ管理は全て「Dockerfile」を使用してnginxなりmysqlなりインストールするわけです。
自動化のレシピのようなイメージ。
書き方もとても簡単なのでご紹介します。
構築するまでめちゃくちゃ軽いし、早いです。
■Dockerとコンテナの仕組み
ちょっとDockerとコンテナのネットワークの図を作ってみました。
Dockerホスト側がルーターというイメージでコンテナ側はポート開放なイメージです。
コンテナには勝手にIP振られます。
もちろんコンテナにssh系をインストールすれば、dockerホストからコンテナへsshもできます。
■docker Imageの確認
| 1 2 3 4 | docker@test-docker:~$ docker images  REPOSITORY TAG     IMAGE ID          CREATED       SIZE  centos      6      5a328db7d3ae      4 days ago    576 MB  centos      7      d0e7f81ca65c      6 days ago    196.6 MB | 
とりあえず前回のブログでImageをダウンロードしたのでcentos:6を使いましょう
■Dockerfileの作成
| 1 2 3 4 | $ cd $ mkdir dockerfile_nginx $ cd dockerfile_nginx $ vi Dockerfile | 
https://gist.github.com/RVIRUS0817/bba0a9ae19dcd6c36082
保存できたらdocker自体のIPを確認しましょう!
| 1 2 | docker@test-docker:~/dockerfile_nginx$ ip route |grep eth1 192.168.99.0/24 dev eth1 proto kernel scope link src 192.168.99.100 | 
・ビルド
こんな名前にしてみました
| 1 | $ docker build -t adachin/nginx_centos6:latest . | 
・インストールを待つ
| 1 |  CMD ["echo", "running!"] と出ればOK | 
・確認
できてる
| 1 2 3 4 5 | $ docker images REPOSITORY              TAG       IMAGE ID          CREATED          SIZE adachin/nginx_centos6   latest    4e0eee40ab6a      2 minutes ago    609.5 MB centos                  6         5a328db7d3ae      4 days ago       576 MB centos                  7         d0e7f81ca65c      6 days ago       196.6 MB | 
・ビルドしたコンテナを起動する
| 1 2 | $ docker run -it -p 8080:8080 adachin/nginx_centos6:latest /bin/bash [root@da87aa58783f /]# | 
・webサイトで確認
でけた。
■まとめ
次回はMysqlコンテナやDocker HubというGithubみたいな
自分が作ったコンテナをpullしてそれを自分のdockerからcloneしてすぐに
構築できるやり方をブログします。
しかし、早い・・・
vagrant立ち上げるのが遅いからもう使わない・・・
■追記
そのままコンテナ抜けると設定したものが消えるので必ずcommitしましょう!
| 1 2 3 4 | ・保存 # docker commit -m "fix nginx" 現在動いているID(docker psで) adachin/nginx6 ・古いコンテナ削除 # docker rmi -f 古いリポジトリ名/古いID名 | 
参考:http://qiita.com/kasaharu/items/d4654193d75c67d65226


 
													 
													 
													
0件のコメント