Docker学習メモ_Part1

Dockerに関する学習メモです。

チーム開発の際の環境構築に便利とのことで、Dockerを勉強し始めました。

学習している教材

  • 「米国AI開発者がゼロから教えるDocker講座」

友人に勧められて購入しました。別の教材をUdemyで購入しましたが、こちらの方がわかり易いです。

Dockerとは(何ができるの?便利なの?)

コンテナという箱に開発環境を作って、その中でアプリケーションを作成することができる。

そのコンテナを他のメンバーに渡すこともできて、他のメンバーは1から環境構築せずに、同じ環境で開発ができる。

カヤックさんの下記記事が参考になりました。

techblog.kayac.com

はじめにやったこと

  • Docker Hubの登録とDocker のインストール

Docker imageを作って、Docker Hubにアップする

  • 自分でDocker imageを作って、Docker Hubにアップすれば、他の人(共同開発者とか)も同じDocker imageを使える。

  • 他の人(共同開発者とか)は、Docker HubからDocker imageをpullし、そのDocker imageからcontainerを作ることができる。

やったこと
  1. Docker Hubからdocker imageをhost(自分のPC)にpull(持ってくる)する。
  2. Docker imageからcontainerを作る。
  3. containerを編集する。
  4. containerからDocker imageを作る。
  5. Docker Hubにリポジトリを作る。
  6. そこに作成したDocker imageをpushする。(リポジトリ名とDocker image名は同じにする)
  7. 他の人(共同開発者など)は、Docker HubからDocker imageをpullし、containerを作ることで、同じ環境を構築できる。

補足

Docker imageは、image layerからできている。

image layerは重複せず、それぞれのimage layerが一つ一つあり、それをDocker HubやHostでDocker image毎に利用している。

そのため、データ容量を削減できる。