Docker
Docker へのリソースの割当を制御したい
By default, a container has no resource constraints and can use as much of a given resource as the host’s kernel scheduler allows.
これはコンテナごとの割当というより、Docker プロセスに対する割当だと思っていたのだけど、それは cli ではどのように確認できるのか?
立ち上がらない
サービスの設定っぽい。設定ファイルはstatusで確認できる2
image,containerをdockerfileとして定義することでportableに
ポートやコンテナにコピーするディレクトリを定義
1. imageを書くかダウンロード
code: Dokerfile
FROM base-image
WORKDIR /application_path
ENV コンテナ内で通したいホストのパス?
ENTRYPOINT docker run で起動するコマンド
CMD
entrypointは簡単には上書きされないが、CMDは引数で即座に上書きされる
バックグラウンドで起動するには -d オプション
バックグラウンドで作動しているimageの一覧は docker container ls
2. docker build で dockerfileからimageをビルド
code:build
-t ,--tag
-rm コンテナ終了時に削除
-p 8080:80 dockerないの80を8080にマップ
code:options
-it デーモンではなくコンソールに出力
-t インターフェースを作成
-i アウトプットを表示
--rm プロセスが終了したらコンテナを削除
-d デタッチ
コンテナを動かし続けるには
-t で擬似的につなぐ
デフォルトユーザのidは1000のことが多い?のでディレクトリ/ファイルの所有者を1000にしてあげれば、ホスト、コンテナ双方からアクセスできる。
docker image prune
容量食う