とりあえずDockerってなあに?のところまで読んだ。(p70)
初めてのDocker
Dockerイメージ
Dockerコンテナのテンプレ 環境に色々準備の定義をまとめたやつ的な 「centosのイメージにapacheとwebアプリ入れてwebアプリ起動するぞ」ここまでをまとめたやつみたいな
Dockerfile
- COPY
- ローカルマシンからDockerイメージへのコピー
- RUN
- Dockerイメージ作成のために実行したいコマンド
- CMD
- Dockerコンテナ起動時に実行したいコマンド
- ENTRYPOINT
- Dockerコンテナ起動時に実行したいコマンドの起点
- 起動時にCMDを上書きするとENTRYPOINTの引数を起動時に指定できる
- Dockerコンテナ起動時に実行したいコマンドの起点
docker image
- docker image build
- DockerfileからDockerイメージを作成
- docker image tag
- イメージIDへのエイリアス付け
- バージョン管理的な
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
コンテナ内のシステムリソース確認