Docker/Kubernetes 実践コンテナ開発入門を読んでいる(-p70)

とりあえずDockerってなあに?のところまで読んだ。(p70)

初めてのDocker

Dockerイメージ

Dockerコンテナのテンプレ 環境に色々準備の定義をまとめたやつ的な 「centosのイメージにapacheとwebアプリ入れてwebアプリ起動するぞ」ここまでをまとめたやつみたいな

Dockerfile

  • COPY
    • ローカルマシンからDockerイメージへのコピー
  • RUN
    • Dockerイメージ作成のために実行したいコマンド
  • CMD
    • Dockerコンテナ起動時に実行したいコマンド
  • ENTRYPOINT
    • Dockerコンテナ起動時に実行したいコマンドの起点
      • 起動時にCMDを上書きするとENTRYPOINTの引数を起動時に指定できる

docker image

  • docker image build
    • DockerfileからDockerイメージを作成
  • docker image tag

Docker Hub

Dockerイメージを置いとけるリポジトリ CLIでイメージをpullしたりpushしたりできる Dockerレジストリの一つ

Dockerコンテナ

Dockerイメージから作成された実際の仮想環境

docker container run

  • 実行時にCMDを上書きできる
  • --nameで名前つけられる
    • 名前で停止できる

オプション

  • --rm
    • コンテナ停止時にコンテナを破棄
  • -i
    • 起動後のコンテナを標準入力とつなぐ
-iのイメージ
$ echo '{"version":1.0}' | docker container run -i --rm gihyodocker/jq:1.5 '.version'   

containerで起動したjqが入力のechoを受け取る

ポートフォワーディング

ローカルの特定のポートをdockerコンテナで開いてるポートにつなぐ

docker container logs

コンテナの標準出力を表示する

オプション

  • -f
    • 出しっぱ

docker container exec

コンテナ内でコマンド実行

docker containr exec -it sh

で、コンテナに入って直接操作できる。

docker container copy

コンテナ間/コンテナ・ホスト間でファイルをコピーできる

docker container prune

不要なコンテナを破棄

docker image prune

不要なイメージを破棄

docker system prune

使ってないコンテナ/イメージ/ボリューム/ネットワークを削除

// TODO ボリュームとネットワークてなんだろ

docker container stats

コンテナ内のシステムリソース確認