Dockerとは
コンテナ型のアプリケーション実行環境
アプリケーションにデプロイに特化しており、コンテナを中心とした開発・運用を可能とします。
Dockerのメリット
-
####軽量な仮想環境
例えば、WEBアプリケーションを開発する上で、ApacheやNginxのようなwebサーバーをローカル環境に構築する作業
ローカル環境でdockerのセットアップが済んでいれば、コマンド一つ叩くだけで環境構築ができる。 -
####優れたポータビリティを持つ
ローカルのDocker環境で実行しているコンテナを、別のサーバーにあるDocker環境にデプロイする、あるいはその逆にサーバーのDockerの環境で動作するコンテナをローカルに持ってくることが可能です。 -
####軽い!
従来の仮想環境と比べて軽いのが特徴
Dockerの基本動作
dockerイメージとコンテナの関係性
イメージ
Dockerコンテナを構成するファイルシステムや、実行するアプリケーションや設定をまとめたもので、コンテナを作成するための利用されるテンプレートとなるもの
コンテナ
Dockerイメージをもとに作成され具現化されたファイルシステムとアプリケーションが実行されている状態
Dockerfile
###基本的なインストラクション
####FORM
FROMは作成するDockerイメージのベースとなるイメージを指定します。
Dockerfileで、イメージをビルドする際、まず最初にFROMdで指定されたイメージをダウンロードしてから実行される。
FROMはDocker Hubのレジストリを参照する。
RUN
RUNはDockerイメージビルド時に、Dockerコンテナ内で実行するコマンドを定義します。
RUNの引数にはDockerコンテナ内で実行するコマンドをそのまま指定します。
COPY
Dockerを動作させいているホストマシン上のファイルやディレクトリをDockerコンテナ内にコピーするためのインストラクションです。
CMD
CMDはDockerコンテナとして実行する際に、コンテナ内で実行するプロセスを指定します。
イメージをビルドするためのRUNに対して、CMDはコンテナ起動時に1度実行されます。
RUNでアプリケーションの更新や配置、CMDでアプリケーションそのものを動作させると考えてください。
##Docker-composeによるコンテナ実行
Docker compose とは、複数のコンテナから成るサービスを構築・実行する手順を自動的にし、管理を容易にする機能です。
Docker compose では、compose ファイルを用意してコマンドを1 回実行することで、そのファイルから設定を読み込んですべてのコンテナサービスを起動することができます。
docker-compose.ymlが置かれているディクトリ内で以下のコマンドを実行する
コンテナの実行
docker-compose up -d
コンテナの停止
docker-compose down
詳細は他の方の記事へ!!!
投稿者は Docker初心者なので今回はざっくりの記事ですみません!
その他学びがあればこれから投稿していくのでよろしくお願いします!