宮水の日記

宮水の日記

主に書評や資格取得について記事を書いています。

プログラマのためのDocker教科書 3日目

みなさんこんにちは!宮水です!

だいぶ暑さが和らいできた気がしますね。気のせいかな?☀️

 

さて、今日でプログラマのためのDocker教科書も折り返し地点まで来ました。

全10章、今日は第5章と第6章です!

 

 

余談ですが、ブログで「こういう本読みました!」と発信すると、以下のようにTwitterでオススメのツールやプラグインを教えていただたり、「記事が参考になりました!」と言っていただけたりするのが大変モチベーションの維持に繋がります。

みなさんありがとうございます!

 

もう一つ余談ですが、技術書の内容を丸パクリして書くのは絶対に良くないのでとても気をつけています。しかしながら、以下の点に気をつければ自分にとっても著者の方にとってもwin-winだと思うので、以下の記事を参考にアウトプットを続けていこうと思います!!

blog.jnito.com

 

第3章と第4章では、Dockerのインストール、Dockerコマンドの使い方を学びました。

miyamizu.hatenadiary.jp

 

 

5章と6章が終われば、いよいよ7章でローカルでWebアプリを動かしてみように入るので引き続き頑張るぞ〜👀

 

f:id:kattyan53:20190819101236p:plain

 

第5章 Dockerfileを使ったコードによるサーバ構築

第5章ではDockerfileによる構成管理を学びます!

 

Dockerfileとは、インフラ構成を記述したファイルのことです。

以下のようなDockerfileの基本構文や作成方法が載ってました!
https://github.com/mritd/dockerfile/blob/master/docker-kubectl/Dockerfile

 

次に作成したDockerfileからDocker imageを作りました。

f:id:kattyan53:20190821163548p:plain

 

おぉ〜できてる〜これがDockerイメージを作る、buildって機能なんですね〜 

f:id:kattyan53:20190821163945p:plain

 

あとはひたすらDockerfileの命令の使い方が書いてありました。
「RUN」で命令するんだよーとか「ENV」で環境変数が書けるんだよーとかです。

 

RUNとかENVとか言うのでてっきりrails sとか書くのかなって思っちゃったんですけど、docker imageを作るための命令や環境変数のことでした。(最初からそう書いてあったけど、コマンドを実行しててようやく理解しましたwww)

railsのサーバーを立ち上げるときはdocker-compose.ymlに書くみたいですね!違いがわかってスッキリしました。

 

第6章 Dockerイメージの公開

6章では、Dockerイメージの共有について書いてありました。

DockerfileをGithubで管理し、Docker Hubと連携することでDockerfileから自動でイメージを作成/公開することができます。

とのことで、Docker HubとGithubを連携して、GithubにあげたDockerfileからDocker Hubでイメージを作成してみました!

今結構UI変わってて、本書の「create」ボタンがなくなっていて、「Repositories」タブの「Create Repository」からcreateするみたいです!

f:id:kattyan53:20190821172403p:plain

めっちゃボタンの位置変わってるー(+ +)

 

でもなんとかDocker Hubからビルドできたみたいです!やったね!

 

f:id:kattyan53:20190821173645p:plain

 

イメージをシェアする方法はいくつかあって、本書にはDocker Hub以外にDocker Registryとクラウドサービスを使ってプライペートレジストリについて解説がありました!今日はもう5章のボリュームがすごかったのでDocker Hubだけでお腹いっぱいです(_ _)

 

こんな感じで、6章ではDockerのイメージを共有する機能(Ship)を学ぶことができました。めでたしめでたし☺️

 

 

最後に

どんどん実践的になってきました!早くRails環境動かしてみたい〜

今日も読んでくださってありがとうございました!