Dockerワークショップの概要
この45分間のワークショップでは、Dockerを始めるためのステップバイステップの手順を提供します。このワークショップでは次のことを学びます。
- イメージを作成し、コンテナとして実行する方法
- Docker Hub を使ってイメージを共有する方法
- データベースを含む複数のコンテナを使用してDockerアプリケーションをデプロイする方法
- Docker Compose を使用してアプリケーションを実行する方法
Dockerの簡単な紹介やアプリケーションのコンテナ化の利点については、 Getting started を参照してください。
コンテナとは?
コンテナとは、ホストマシン上で実行されているサンドボックス化されたプロセスであり、そのホストマシン上で実行されている他のすべてのプロセスから隔離されています。この隔離は、Linuxに長い間存在しているカーネルのネームスペースとcgroupsを活用しています。Dockerはこれらの機能を使いやすくしています。要約すると、コンテナとは次のようなものです。
- イメージの実行可能なインスタンスです。Docker API または CLI を使用して、コンテナを作成、開始、停止、移動、または削除できます。
- ローカルマシン、仮想マシン、またはクラウドにデプロイして実行できます。
- ポータブルであり、任意のOS上で実行できます。
- 他のコンテナから隔離されており、独自のソフトウェア、バイナリ、設定などを実行します。
chroot
に慣れている場合は、コンテナを chroot
の拡張版と考えてください。ファイルシステムはイメージから提供されます。ただし、コンテナはchrootでは利用できない追加の隔離を提供します。
イメージとは?
実行中のコンテナは、隔離されたファイルシステムを使用します。この隔離されたファイルシステムはイメージによって提供され、イメージにはアプリケーションを実行するために必要なすべてのもの(依存関係、設定、スクリプト、バイナリなど)が含まれていなければなりません。イメージには、環境変数、デフォルトの実行コマンド、その他のメタデータなど、コンテナに関するその他の設定も含まれています。
次のステップ
このセクションでは、コンテナとイメージについて学びました。
次に、シンプルなアプリケーションをコンテナ化し、これらの概念を実際に体験してみましょう。