はじめに
業務でコンテナを触り始めましたが、なかなか覚えられないので使ってる範囲の知識をまとめてみました。※随時更新予定
仮想化 vs コンテナのイメージ
仮想化はゲストOSを都度立ち上げる必要がありますが、コンテナはその必要がありません。その分起動が早い、といった利点があります。
Docker 用語
- Docker Engine
- Dockerを利用するための常駐プログラム(PCにインストールする)
- image
- コンテナの設定ファイル。imageからコンテナを起動する。読み取り専用。layler構造
- tag
- imageのバージョン
基本的なコマンド
# ローカルのimage確認
$ docker image
# docker hubからのimage取得
$ docker pull イメージ名
# Dockerfileからのイメージ作成
---Dockerfile
FROM イメージ名:タグ名 #どのimageを元にimageを作成するか
RUN パッケージ等インストールコマンド#ここに記述したコマンドを実行してミドルウェアをインストールし、imageのレイヤーを重ねる
CMD コマンド指定 #コンテナが作成された後で実行するコマンドを指定する
---
$ docker build -t ビルドしたイメージに付けるイメージ名 .
(キャッシュ無視)
$ docker build —no-cache -t docker-whale
# imageからコンテナ作成
$ docker create --name ${コンテナ名} ${imege名}
# コンテナ起動
$ docker start ${コンテナ名}
# docker pull&create&start
$ docker run ${イメージ名}
# 実行中のコンテナ表示
$ docker ps
# コンテナ削除
$ docker rm ${コンテナ名}
# コンテナからイメージを作成
$ $ docker commit コンテナ名 image名:タグ名
DockerHub
※作成中