2016年5月26日木曜日

docker pushしてみた

今月頭くらいからずっとDockerを習得しようと悪戦苦闘していたんですが、ようやく落ち着いたのでメモ。

過去記事は以下。
Dockerをインストールしてみた(Ubuntu, Mac)
DockerでWebサーバーを立ち上げてみた(Ubuntu, Mac)
Dockerでホストにあるディレクトリをマウントしてみた

改めて見返したらインストールから1ヶ月以上経ってたのか。
我ながら覚えが遅くて悲しい。。

とりあえず、今まで自分でChefのレシピ書いて作ってた環境をDockerで再現することは成功したっぽいです。
Dockerfileの具体的な記述については他のエントリでまとめようと思ってますが、試してみたいと思って下さった方はDockerをインストールの上、
docker pull seekgeeks/sgdevelopment
ってやるとDocker Hub(GitHubのDocker版みたいなやつ)に置いた私のDockerイメージをpullできると思います。
起動させるときは、
docker run -p 8080:80 -p 21223:3306 -it seekgeeks/sgdevelopment /bin/bash /tmp/init.sh
とかやるとnvmの有効化とかApacheとMariaDBの立ち上げとかが始まった上で起動します。
ソースコードをマウントしたい場合は過去記事を参照してください。

ちなみにコンテナにはApache+MariaDB、pyenv/rbenv/nvmなんかがインストールされてます。
各言語のバージョンはどれが最適かわからなかったので、Python2.7.11、Ruby2.2.2、Node.js4.4.4を入れてます。RubyとNodeは覚えやすいのでこのバージョンにしました。

先日Twitterで、Python興味ある、と言って下さった方がいらっしゃったので、それなら環境を簡単に提供できたらいいかなーと思ってDocker Hubにも挑戦してみた次第。
Vagrant+Itamaeでも同じことできますけど、Dockerの方がお試ししやすい感じがします。

Pythonやってみたい方もDockerやってみたい方も、良かったらpullしてみてください。
pullされた数とか見れるっぽいので古き良きインターネットのアクセスカウンタばりにワクワクします。

今後はDockerfileのエントリ書きつつ、並行してItamaeで同じことができるようレシピも書いたのでそっちのことも書いたり、勉強中サスペンドしてたSeekGeeksで取り組み中のプランなんかも進めていきたいと思ってます。

ちなみにDockerの使い方が正しいかはわからないです。。
何か違うぞって思ったら教えて頂けると助かります。
よろしくお願いします。

追記:
Windowsの方は下記ページが参考になります。
Windows10マシンにDocker Toolbox を入れて個人用の開発環境を作る
Win7で普通に動きました。
すでにVirtualBoxが入ってる方はインストールのときのチェック項目にちょっと気を付けた方が良いかもです。