ノートブック - Docker リファレンス
サイト管理者の個人的なメモ

[ Linux / Unix リファレンスガイド ] - [ ノートブック ] - [ docker ]


Contents



Linux仮想コンテナ技術 docker に関するノート、備忘録。原則、基礎的な部分のみ記述

◆Docker とは
Solarisコンテナ、FreeBSD Jailなどと似たUnix仮想コンテナ機能を提供するデーモン

◆Dockerの使い方
公式サイトで公開されているコンテナイメージをPULLして利用する
Dockerfile というコンテナ構築レシピを自分で記述し、オリジナルのコンテナをビルド・デプロイする

◆Dockerの特徴や注意点
仮想コンテナは原則として1つのメインプロセスのみを起動させる(1コンテナ1プロセスの原則)
コンテナは停止すると中のデータが消去されてしまう(DBや商用サービス構築には工夫が必要となる)
デフォルトの使用では1つのIPアドレスをホストとコンテナでシェアし、ポートベースで通信を行う
Dockerfile により簡単に他のホストへコンテナを移動・複製することができる
常に完全同一なコンテナが再現できるわけではない(ビルド時のyum updateなどで同一性を失うことがある)
Unix・Linuxで培った運用手順を使えず、新しいノウハウが必要となる場合がある
その他詳細の記述は省くが、商用サービスでのDockerの利用には十分な検証とテストが必要となる

◆Dockerfile (Linux仮想コンテナのレシピ)
FROM centos ubuntu などベースとなるLinuxOSイメージを記述する。
MAINTAINER Dockerfileの作者、メンテナー情報を記述する。一人しか登録できない。
USER 下記のADD・COPY・RUNなどのコマンドを実行するユーザを指定する
WORKDIR コマンドを実行する作業ディレクトリを指定する
ADD ファイルをコンテナイメージ内にコピーする(TARファイルを自動解凍する)
COPY ファイルをコンテナイメージ内にコピーする(TARファイルを自動解凍しない)
RUN USERやWORKDIRで指定したユーザ、ディレクトリでシェルコマンドを実行する。自作したオリジナルのLinuxコンテナを構築していく場合はこのRUNコマンドの記述がLinuxコンテナ構築のレシピでの主要な部分となる。
CMD
ENV 仮想コンテナに環境変数を設定する
VOLUME 仮想コンテナに外部のドライブ・ストレージをマウントする
EXPOSE 仮想コンテナが通信に使用するポート番号を指定する
ENTRYPOINT コンテナの主体となるメインプロセス・デーモンを一つ指定する
ONBUILD

◆インストール手順 (CentOS7の場合)
# yum -y install docker
# systemctl enable docker
# systemctl start docker
# docker --version

◆docker コマンド
 
docker docker の基本コマンド。コンテナイメージのプル、コンテナのビルド、デプロイなどを行う。
docker --help もしくは docker <optionname> --help で詳細を読むことが可能。
docker images ホストに保存されているDockerイメージを表示する
docker rmi ホストに保存されているDockerイメージを削除する
docker ps ホストで起動している仮想コンテナの一覧を表示する
docker ps -a ホスト上に存在するすべての仮想コンテナの一覧を表示する(停止中のコンテナも表示)
docker rm ホスト上に存在するDockerコンテナを削除する

製作中




(c) 2012 - 2016 copyright oskp.net all rights reserved.