docker備忘録


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