Note to Self

公開する緊張感で、読み返した時に??にならない自分用メモです

CentOS7にDockerをインストール

【インストール時及び、最低限のコマンドと動作確認】

 

■Dockerのインストールと起動
Dockerのインストール
$ yum install -y docker

Dockerサービスの起動
$ systemctl start docker

Dockerサービスの有効化
$ systemctl enable docker

■Dockerイメージのインストール
DockerレジストリからDockerイメージをダウンロード
$ Docker pull [イメージ名]:[タグ名]

*Docker Hub Registory  https://hub.docker.com/
pullコマンドではデフォルトで↑を見にいく。
タグ名は通常 latest が設定されている。
最新版を使用したい場合は、latestを使用

CentOS 7 のイメージをインストール
$ sudo docker pull centos:latest

ダウンロードしたDockerイメージの一覧を確認
$ docker images

■Dockerコンテナを作成・実行
[コマンド]   docker run
[オプション] -d バックグラウンドで実行する。
        デフォルトではフォアグランドで実行するため、
        Webサーバやアプリケーションサーバなど常時実行するコンテナーで指定
             -i コンテナーの標準入力を開く /bin/bashなどでコンテナーを操作する際に指定
             -t tty(端末デバイス)を確保  /bin/bashなどでコンテナーを操作する際に指定
             -p <ホストのポート番号>:<コンテナーのポート番号> Dockerサーバのホストとポートマッピングを構成

□sudo docker run -it --name centos7_doc centos /bin/bash
Apacheをインストール $ yum install httpd

■[Ctrl+d]でシェルを抜けると、dockerコンテナも終了
 [Ctrl+p]+[Ctrl+q]でコンテナを終了することなくログアウト

Dockerコンテナの一覧を取得
$ docker ps [-a] *-a停止中のコンテナも表示される

Dockerコンテナの起動
$ docker start [コンテナ名]

Dockerコンテナへの接続
$ docker attach [コンテナ名]

Dockerコンテナを削除
$ docker rm [コンテナ名]|[コンテナID]

Dockerコンテナの履歴を削除
*定期的にクリーンアップしなければ、履歴が残り続けディスクを圧迫する
$ sudo docker rm $(sudo docker ps -a -q)

■Dockerイメージを作成
Dockerイメージを確認
$ docker images

Dockerイメージを作成
$ docker commit [コンテナ名]|[コンテナID][ユーザ名/][イメージ名]

Dockerイメージを削除
$ docker rmi [イメージ名]|[イメージID]

<Dockerfileを使ってイメージを作る> *推奨
Dockerfile の書き方は公式サイトのリファレンスを参照
https://docs.docker.com/reference/builder/

 

□まとめ

仮想化とコンテナの違いが、なんとなくイメージ出来た。

最低限のコマンドは理解さえしておけば、GUI管理のツールがたくさん有るらしい。

まずは、Dockerfileを作れるようになるのが次の目標。