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件のコメント