はじめに
プログラミング初学者が公式Dockerチュートリアルをやってみてわかったこと、チュートリアルの進め方についてまとめました。同じような初心者へのシェア・自分自身の備忘録として残してみます。
自分自身はWordPressをDockerで環境構築したことがありますが、コピペも多く深く理解できていなかったので、公式Dockerチュートリアルに挑戦しました。
注)まだ学習中なので、不確かな部分には「〜らしい」「〜のようだ」といった口調にしています。
Dockerって?
Dockerを使えば、アプリなどの環境構築を簡単にできます。また、それをそのまま本番環境では流用できるらしいです(私自身はローカルでのみ使用)。
引用:https://knowledge.sakura.ad.jp/21387/
Dockerの利点↓
- コード化されたファイルを共有することで、どこでも誰でも同じ環境が作れる。
- 作成した環境を配布しやすい。
- スクラップ&ビルドが容易にできる。
引用:https://knowledge.sakura.ad.jp/13265/
ローカルで環境構築
phpとDBも組み合わせた初歩的なアプリを開発しようと思ったら、それらが動作するように環境構築します。
その場合、MAMPやXAMPPなどの外部アプリで一瞬で環境構築された状態を整えることができます。ただ、もっと複雑になってきたりすると、そういったアプリがない場合がほとんどかと思います。
そのときに、Dockerを使うと簡単に環境構築をできるようです。
引用:https://knowledge.sakura.ad.jp/13265/
上の図のように、Dockerは仮想マシン(VW)と比較されることがあります。
左の仮想マシンを見ると「ゲストOS」がありますが、右のDockerではありません。Dockerは自身のPCなどのOS上で動作します。
したがって、Dockerは仮想マシンと異なり「ゲストOS」が搭載されていないので、軽くて済むという利点もあります。
公式Dockerチュートリアル
URLはこちら↓
比較的簡単なので、早くて3日や、1partを1日で10日で終わらせると思います。
このチュートリアルでわかること
- Dockerfileでのコンテナを構築
- コマンド操作でコンテナを構築
- Docker ComposeというツールとComposeファイルを使って、複数コンテナを構築
- Docker Hubでのイメージ共有方法
Dockerの用語
チュートリアルでは以下の用語がサラッと説明されているので、今自分が何をしているのか立ち返るときに以下を見ると頭の整理になるかと思います。
- Dockerfile:このファイルを
$ docker build
でビルドすることでDockerイメージを生成することができる - (Docker)イメージ:Dockerイメージを
$ docker run
で起動することでコンテナが実行ができる - (Docker)コンテナ:アプリケーションの実行環境
引用:https://www.kagoya.jp/howto/cloud/container/dockerimage/
- docker-compose:複数のDockerコンテナを組み合わせてアプリケーションを実行するためのツール
- docker-composeファイル:「docker-compose.yml」ファイルはDocker Composeを使用するための設定ファイル
引用:https://knowledge.sakura.ad.jp/21387/
チュートリアルの目次
- Part 1:始めましょう
- Part 2:サンプル アプリケーション
- Part 3:アプリケーションの更新
- Part 4:アプリケーションの共有
- Part 5:DBの保持
- Part 6:バインド マウントを使う
- Part 7:複数コンテナのアプリ
- Part 8:Docker Composeを使う
- Part 9:イメージ構築のベストプラクティス
- Part 10:次は何を?
実際に私がやったことは以下のツイッターのツリーから見ることもできます↓
コマンド操作について
このチュートリアルを進めるにあたって、まず大前提ですがターミナルでのコマンドの基本的な概念・操作を知っていく必要があります。
簡単なコマンド操作は、progateの「Command Lineコース」を見ると良いでしょう。
例えば、チュートリアルを進めていく上で、コマンド打つ時のディレクトリの位置を注意しないと動きませんでした。
ここをクリックすると、該当のDockerチュートリアルの箇所へ飛びますが、vscodeで開いた場所は「〜〜/getting-started/」とあります。
しかし、dockerのコマンドを打ちたい場所はその1つ下の「〜〜/getting-started/app/」になります。
したがって、$ cd app
コマンドで移動する必要があります。詳しくは以下のツイートにも記載しました。
最後に
何か誤りや補足があれば、こちらにコメントするか、ツイッター上に気軽にご連絡ください。