docker コマンド
docker build <build contexts>
docker run <image>
docker ps
docker exec <container>
Dockerfile
FROM : ベースのDocker imageを指定する
RUN : コマンドを実行するレイヤーの作成(基本はパッケージ管理などに使用する)
- imageのレイヤー数を少なくすることを意識する
- 最初のうちはRUNを複数使ってキャッシュで効率的にビルドする
- レイヤーを構成するのは、RUN,COPY,ADD
- コマンドを&&でつなげる、(バックスラッシュ)でつなげる
CMD : デフォルトコマンドを指定する(レイヤーにならないコマンドの実行)
→ENTRYPOINTを使用時はパラメタを記載する
ENTRYPOINT : CMDと同じ※上書きされたくないコマンドを記載する
COPY : build context内のファイルをコンテナに送ることができる
ADD : COPYとできることは同じだが、使い所は圧縮ファイルを送って解凍するとき
Docker Deamon
#### ホストとコンテナの関係
ファイルシステムのマウント : -v :
ファイルへのアクセス権限 : -u $(id -u):$(id -g)
ポートを接続(ポートフォワード) : -p :
コンピュータリソースの上限 : --cpus <#PhysicalCPUs> --memory
コンテナの詳細を表示 : docker inspect | grep -i
docker run -v ~/hoge:/hoge -p 3000:3000 -it <docker_image> bash