どーも、ぐるたか@guru_takaです。
業務でDockerを初めて使用しました。備忘録も兼ねて。よく出るワードや概念、そしてコマンドを初心者向けにまとめていきます!
Dockerとは?
Dockerはコンテナ型の仮想化を実現するプロダクトです。仮想化とは、PCの中にもう1台のPCを立ち上げる感じです。
下図のように、ホストOSの上にコンテナを立ち上げて起動します。
今までの仮想化は仮想環境ごとにOSがあったのですが、コンテナ型仮想化はPC本体にあやかる感じなので、軽量です!
Dockerを使うメリットとして、プログラムを動作させる環境(コンテナ)を共有できるので、環境の違いによるトラブルを回避できます。
Docker Imageとは?
クラスに近いです。たいやきを作る型のようなものです!
なので、まずコンテナを作るには、Docker Imageが必要になります。
Docker Imageの作り方
主に2つあります。
- Docker HubからImage取得
- Dockerfileから作成
まぜ前者はDocker Hubに色んな源が公開されているので、コマンドでPullすると、良いでしょう。Pythonであれば、こんな感じ!
$ docker pull python:3.7
これだけでは、Pythonしか入っていません。もっと、色んなパッケージとか好きなものをインストールしたいですよね?
その時に役立つのが、Dockerfileです。自分のオリジナルなImageを作れます!
以下、サンプルです。
FROM python:3.7 #イメージの源を使用
RUN pip install pandas # コマンド実行
CMD cd home && python # コンテナ起動時に叩くコマンド
そして、Dockerfileが作れたら、オリジナルのImageを作ります。いわゆる、ビルドです。コマンドは以下の通り!
$ docker build -t イメージ名 .
コンテナとは?
インスタンス化されたものです。Docker Imageがたいやきを作る型に対し、コンテナは作られた”たいやき”になります。
コンテナの起動方法
コンテナを起動するのは簡単です。
$ docker run イメージ名
これでコンテナが立ち上がります!
よく使うコマンド
以上で簡単にDockerの頻出ワードの実行の流れをまとめました。続いて、よく使うコマンドを紹介します!
※今後も追記予定
Image関連
$ docker images
$ docker rmi REPOSITORY
$ docker build -t イメージ名 .
$ docker run イメージ名
以下、よく使うオプションのサンプルです。
# --rm : コンテナ終了時にコンテナ削除
# -it : コンテナ内で操作可能
# -p : ポート指定
# -v : ボリュームマウントでローカル内のファイルが使用可能
$ docker run --rm -it -p 80:80 -v ~/~~/~~:/home イメージ名
コンテナ関連
$ docker ps
$ docker ps -a
$ docker start CONTAINER ID
$ docker stop CONTAINER ID
$ docker rm CONTAINER ID
$ docker rm $(docker ps -aq)
コメントを残す