Docker について
Dockerについてメモ
Dockerとは?
Dockerとは仮想環境を動かす仕組みのこと。
例) Mac OS上で windows や Linux を動かす。 <-----この仮想環境を作るのが Docker
コマンドを数行入力するだけで、環境が構築できるのもメリット
仮想環境がコードで管理できるので、管理が楽になる。
一緒に開発する仲間などとも簡単に同じ開発環境を構築することができる。
Docker イメージとは?
インストールしたDockerに イメージを入手します。Dockerイメージとは、仮想環境の種類のことで、nginxの環境を作りたい場合は、 nginxのdockerイメージを入手するといったように、欲しい環境のイメージを入手して使います。
入手方法
Docker Hub などで入手ができます。
Docker Hubにアクセスしたら上部にある検索欄に欲しい環境イメージを入力して検索します。
今回は nginx としました。
すると、下記のように表示されます。
右側にある docker pull nginx というコマンドを 自分のOS上のターミナルで実行することで、Dockerイメージが入手できます。
コンテナとは?
コンテナとは、先ほど入手した Dockerイメージから構築した環境をコンテナといいます。
また、Dockerイメージからコンテナを作成することを `ビルドする` といいます。
構築の流れ (Mac)
私が使っているPCがMacなので、そちらの内容を書きます。
- docker for mac をインストール : https://hub.docker.com/editions/community/docker-ce-desktop-mac/
- docker イメージを取得
- docker run --name dandan-nginx -d -p 8080:80 nginx:latest ビルドとスタートを同時に実行できるコマンド
- docker start dandan-nginx ↑のコマンドでビルドしてあるものを再度立ち上げる時はこのコマンドでOK
- docker stop dandan-nginx コンテナの停止コマンド
Docker file とは?
Docker file は先ほど紹介した Dockerイメージに欲しいものがない場合などに、自分で イメージを作る場合に作成します。
参考記事:https://blog.codecamp.jp/docker-file-how-to
Docker compose とは?
今までは、1つのコンテナを立ち上げる方法でしたが、開発現場では、複数のコンテナを立ち上げて作業することが多いかと思います。そのときに1つ1つに 起動したり停止したりとするのは面倒なので、一元的に実行できるコマンドが Docker compose です。
こちらは、 `docker-compose.yml` というファイルで管理していきます。
主なコマンド
docker-compose build --no-cache <------- docker-compse.yml にまとめたコマンドを1発でやってれる
docker-compose up <------ 複数のコンテナをまとめて起動
docker-compose down <------ 複数のコンテナをまとめて停止
容量に注意
dockerをインストールしたら容量がいっぱいになってしまった。。。
その場合は、
docker system prune
とターミナルに入力して、 yes/no の応答を要求されるので yes とします。
そのあと、Dockerのアプリを開き
Docker for Mac --> Preference --> Reset --> Reset to factory defaults
を選択して再起動するとよいです。