Dockerについて勉強+メモ用に投稿しました。
Dockerとは
仮想環境を簡単に作成・実行・配布できるサービス(プラットフォーム)。
仮想環境とは
あるプラットフォーム上で別のプラットフォームを実行する環境。
(PCのデスクトップ上で別のPCを起動するようなイメージ)
一般的な仮想環境との違い
VirtualBoxやVMWareなどの仮想環境は、ホストマシン上で別のOSをシミュレートする。
一方のDockerはホストマシンのカーネルを利用しプロセス等を隔離することで「軽量化」「高速起動・停止」を実現している。
Dockerが支持される理由
サーバの設定やミドルウェアインストールなどをコード化することで全員で開発環境(特にバージョン)を簡単に統一できる(再現可能)
→環境構築の手順が楽に!引き継ぎが楽に!
早速インストール!
下記ページよりダウンロードできます。
https://www.docker.com/get-started
起動〜Hello World!
- インストール後、Terminalを起動します。
-
docker version
でインストール済みかを確認します。 -
docker container run hello-world
を実行します。 - TerminalにHello World!と使い方が表示されれば成功です!
コンテナファイルを活用しよう
Dockerでは、構築済みのコンテナイメージが多数用意されています。
・Docker Hub(公式)
https://hub.docker.com/search?q=&type=image
Laravel/PHPに便利な「laradock」やさサーバ系「Wordpress」「nginx」「node」やDB系など、数多くのコンテナが準備されています。
せっかくなので、nginxのサーバを立ち上げてみましょう。
nginxサーバも10秒で立ち上げ!
-
docker run -d -p 80:80 --name {コンテナ名} nginx
でnginxがない場合ダウンロードし、起動します。 -
docker container ls
でDockerのプロセスをチェックします。 - localhostにアクセスし、ブラウザでnginxが起動していることを確認します。
せっかくなのでサーバに入り表示をいじってみます。
-
docker exec -it {コンテナ名} /bin/bash
でサーバに入ります。(root) -
cd /usr/share/nginx/html
nginxのドキュメントルートへ移動します。 ※ドキュメントルートは/etc/nginx/conf.d
の「location -> root」で変更できます。 - 「vim index.html」としたいところですが、最小限のもの以外は入っていないようなので
apt-get update
とapt-get install vim
を流します。 -
vim index.html
から編集し、:wqで保存しvimを終了します。 - もう一度localhost:80にアクセスし表示が変わっていることを確認し、今回は終了です!
基本操作コマンド
・コンテナの停止
docker container stop {コンテナ名}
・コンテナの開始
docker container start {コンテナ名}
・コンテナのリストを表示
docker container ls
// 起動中
docker container ls -a
// 全て
・コンテナログ確認
docker container logs
・コンテナ 削除
docker container rm {コンテナ名}
・イメージ 削除
docker image rm {イメージネーム}
参考サイト
・Docker入門(第一回)~Dockerとは何か、何が良いのか~ / さくらのナレッジ
https://knowledge.sakura.ad.jp/13265/
・Dockerコンテナを利用してみよう / マイナビニュース
https://news.mynavi.jp/article/docker-3/
・DockerをMacにインストールする / Qiita
https://qiita.com/kurkuru/items/127fa99ef5b2f0288b81