はじめに
私は現在韓国の大学でCSを選考している大学生です。自分が開発を担当した部分をチームメンバーのPC環境で実行してほしい時、環境構築のやり方などを文書にまとめて渡す作業が思ったより面倒、且つ環境構築を異なるPC環境のチームメンバー自身にしてもらうのは申し訳ないと思い、それを解消してくれるというDockerを最低限使えるようになりたいという思いでDockerの勉強を始めました。あとシンプルに友人から「はいこれDockerで環境作って」みたいに渡されてよく理解しないままDockerで環境構築していたらめちゃくちゃスムーズにアプリを実行できて感動したのもDockerの勉強を始めた理由としてあります。
Dockerに関しては小出しでメモしていく予定なので、ある程度のDockerの記事がたまったら、一つの記事でまとめたいと思います。
今回はそもそもDockerとは何か?などの基本知識、コマンドについて学んだことをメモしていきます。
Dockerの基本知識
そもそもDockerとは
Dockerとは一言で表すと「コンテナ仮想化を用いてアプリケーションを開発・配置・実行するためのオープンプラットフォーム」です。
一つ一つ分解していくと
- コンテナ→ホストOS上(PC上)で隔離された、干渉されない実行環境(仮想のPC環境のようなもの)
- 仮想化→ホストOSと分離して、効率的に分離したものを利用する技術
つまり、コンテナ仮想化とは、ソフトウェアの依存関係をOSレベルで分離し、ホストOSの環境に依存せずコンテナ内に存在するソフトウェアのみで実行環境を構築することを可能にした技術です。それによって、他の人の異なるPC環境環境下でも、問題なく開発、配置、実行させることができます。
主なメリット
- 他の人と開発環境の共有ができる。
- スケーリングが簡単。
- マイクロサービスアーキテクチャを採用する上で必須の技術となっている。
- など他にも沢山ある。
Dockerの仕組みについて簡単に説明
- Image
- アプリとその実行に必要な全ての依存関係を含む、独立した実行可能なソフトウェアパッケージ。
- このImageは基本的にDockerFileというカスタマイズされたものから作成するか、DockerHubというImageを登録したり配布できるサービスからダウンロードしたものから作成できる。
- このImageを起動することによってコンテナになる。
学んだコマンド
1.Dockerイメージをダウンロードするコマンド。
docker image pull [イメージの名前]
2.Dockerイメージを一覧表示するコマンド
docker image ls
3.Dockerイメージを削除するコマンド。
docker image rm [イメージの名前]
4.指定されたイメージからコンテナを作成し実行するコマンド。
docker container run [イメージの名前]
5.現在実行中のコンテナの一覧を表示するコマンド。
docker container ls
また、以下のコマンドで現在実行していないコンテナの一覧も表示することができます。
docker container ls --all
6.実行中のコンテナを停止するコマンド。
docker container stop [コンテナの名前]
7.指定されたコンテナを再起動するコマンド。
docker container restart [コンテナの名前]
8.指定されたコンテナを削除するコマンド。
docker container rm [コンテナの名前]
おわりに
引き続きDockerに関して学んだことをアウトプットしていきます。