Dockerまとめ
0章 初めに
- Dockerを学習した際のメモ帳です
1章 Dockerとは
1.1 Docker概要
-
コンテナ仮想化技術を利用したアプリケーションの実行環境を構築出来る
-
コンテナはオーバーヘッドが少ないので軽量で高速な動作が可能
-
Dockerイメージを元にコンテナを作成する
-
作成されたコンテナには色々な要素がある
- アプリの実行モジュール、ミドルウェア、ライブラリ、OSネットワークなどのインフラ
-
そのコンテナをDockerHubなどで共有することで様々な環境で動かすことが可能
1.2 Dockerの機能
- Dockerには三つの機能がある
- Dockerのイメージを作るBuild
- Dockerのコマンドで作成する方法とDockerfileという設定ファイルを元に自動で作成する方法がある
- Dockerイメージは重ねて使う事ができ、重ねて別のイメージを作成できる
- Dockerイメージを共有するShip
- イメージはDockerレジストリで共有でき、DockerHubでは様々なOSイメージが公開されている他、個人が共有することも可能
- Dockerコンテナを動かす機能Run
- Dockerはコンテナ単位でサーバー機能を動かす
- Docker環境さえあればどこでもコンテナを動かすことが出来る
- Dockerのイメージを作るBuild
2章 Dockerの基本操作
2.1 Dockerイメージのダウンロード
- DockerHubから取得する場合
docker image pull [オプション名] イメージ名[:タグ名]- docker image pull centos:7
2.2 イメージの一覧表示
- 取得したイメージを一覧表示する場合
docker image ls [オプション] [レポジトリ名]
オプション 内容
-all,-a 全件表示
--digests ダイジェスト表示
--no-trunc 結果の全表示
--puiet,-p IDのみ表示
2.3 イメージの削除
- 作成したイメージを削除する場合
docker image rm [オプション] イメージ名 [イメージ名]
オプション 内容
--force,-f 強制的な削除
--no-prun 中間イメージを作成しない
3章 Dockerコンテナのサイクル
3.1 生成起動
- Dockerコンテナの生成起動は
docker container run [オプション] イメージ名[:タグ名] [引数]
オプション 内容
-attach,-a コンテナのシェルに接続する
--detach,-d コンテナを生成してバックグラウンドで実行する
--name [コンテナ名] 結果の全表示
- ネットワークの設定を行うためには
$ docker container run [ネットワークオプション] イメージ名[:タグ名] [引数]docker container run -d -p 8080:80 apacheで8080にアクセスするとapache80番ポートへアクセスできる
3.2 停止
- 起動しているコンテナを停止するには
docker container stop [オプション] コンテナ識別子 [コンテナ識別子]
3.3 削除
- コンテナを削除するには
$ docker container rm [オプション] コンテナ識別子 [コンテナ識別子]
オプション 内容
--force,-f 強制的に削除
--volumes,-v 割り当てたボリュームを削除
4章 Dockerの作成
4.1 Dockerfile
- Dockerfileを使うと様々な設定やコマンドなどを追加出来る
- Dockerfileには拡張子はいらない
- 記述方法は
命令 因数と書く- (例)
From centos:centos7
- (例)
- 実行する際は
docker build -t [生成するイメージ名]:[タグ名] [Dockerfileの場所]docker build -t sample:var1.0 ./
命令 説明
FROM 環境のベースは何か
RUN 実行したいコマンド
CMD コンテナが実行される際に動くコマンド
WORKDIR これ以下が操作するディレクトリの絶対パス
ENV 環境変数の設定
4.2 DockerCompose
- いくつかのコンテナ同士を連携させて動作させることが出来る
- それをDockerComposeと言い、docker-compose.ymlというファイルで管理することが出来る
- この定義ファイルを元に
docker-composeコマンドを実行することで同一ホスト上のコンテナをまとめて操作出来る
- この定義ファイルを元に