Help us understand the problem. What is going on with this article?

0からのDocker 1日目

More than 1 year has passed since last update.

Dockerが便利、時代はDockerということを耳にして1年以上経ち、
自分が関わっているプロジェクトにも導入されていたり、導入したいねという話も出てきたのでちゃんと勉強する。

一日目の感想としては便利なのはわかったけどいまいちイメージがつかめないといったところでした。
このイメージがDocker用語ではないほうのイメージです。
なにやら用語やコマンドが色々出てきて混乱してます。。

Dockerとは

環境構築で必要な設定や実行すべきコマンドを設定ファイル(Dockerfile)を作って、このファイルをもとにDocker イメージ, Docker コンテナを作る。
それぞれの詳細は後述しますが、Dockerコンテナを実行することでDockerfileで設定しておいた環境が立ち上がる。
DockerはDockerイメージを取得したり、作成、Dockerコンテナを作成、実行するためのツール。

人気の理由はコンテナ型仮想化という技術によって、
ホストマシンのリソースを効率的に扱えたり、Dockerがインストールされて入ればどこでも動く手軽さによるもの。

Dockerイメージ

DockerイメージはOSやアプリケーションがパッケージになったもの。
UbuntuやCentOSのようなOSやMySQLやRedisのようなアプリケーションもDockerイメージにある。
これらをセットにしたものもDockerイメージとして作成できる。

docker build -t タグ dockerfileのでィクレクトリ

=> docker build -t tag_name .

イメージのタグ

ユーザ名/リポジトリ:タグの記述でローカルとイメージとレジストリ上にあるリポジトリとを関連付ける。
タグはDockerイメージのバージョン指定の仕組みに使われる。

# タグをつける
docker tag image ユーザ名/リポジトリ:タグ

# イメージをリポジトリにアップロードする
docker push ユーザ名/リポジトリ:タグ

Dockerコンテナ

DockerコンテナはDockerイメージから生成される仮想サーバ。
Dockerコンテナはホストマシン上の1つのプロセスとして実行される。

docker run tag_name

参考

「Docker」を全く知らない人のために「Docker」の魅力を伝えるための「Docker」入門
VagrantとDockerについて名前しか知らなかったので試した - Qiita
流行りにのるために Vagrant で用意した ubuntu に Docker を導入してみた - Qiita

疑問

RUNとCMDの使い分けがわからない問題。
違いはわかったけど、そのコマンドはRUNとCMDのどっち?ってなりがちです。
イメージ時に実行しても問題ないのか、コンテナが作成されてからでないと実行できないのかを考えれば良いような気がしてきました。
Docker 初心者 | <実践> RUN と CMD の違い - Qiita

おわりに

理解が曖昧なため、認識を間違えている可能性が多分にあります。
そのような箇所をみつけたら遠慮なくコメントや編集リクエストをいただければと思います。
また、参考になる記事などをご存知でしたら教えていただければ幸いです。

senou
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした