ユーザ用ツール

サイト用ツール


docker_dockerfile

Dockerfile

1) 2) 3) 4) 5)

  • ファイル名はDockerfile
    • 拡張子とかはなし

書式

  • よく使うものの抜粋
    • 詳細は参考のリファレンスにて

FROM

  • イメージの取得
  • Dockerfileの先頭に書く

MAINTAINER

  • ビルドされるイメージのAuthorフィールドを設定する
  • 廃止予定らしい

COPY

COPY [--chown=<ユーザ>:<グループ>] <コピー元>... <コピー先>
  • コピー元は Dockerfile と同じ階層のものが参照される

RUN

  • 現在のイメージの最上位の最新レイヤーにおいて、あらゆるコマンドを実行する
  • そして処理結果を確定する
  • 結果が確定したイメージは、Dockerfileの次のステップにおいて利用されていく

CMD

  • コンテナの実行時のデフォルト処理を設定する
  • Dockerfile内では1つしか記述できない
    • 複数記述している場合は、最後のものしか動作しない

ADD

  • ファイルとかをイメージ内のフォルダにコピーする

EXPOSE

  • コンテナの実行時に、所定ネットワーク上のどのポートをリッスンするかを指定する

Tips

volumesでPermission deniedが出る

  • イメージ作成時(CMDなど)で chown すれば治りそう 6) 7)

パスワードなしでsudoしたい

  • OSによって異なるが、グループに追加して/etc/sudoersに追記する形式のよう 8)
1)
Dockerfile リファレンス, Docker-docs-ja 19.03 ドキュメント, https://docs.docker.jp/engine/reference/builder.html, 2021/04/29, 公式リファレンス
2)
Dockerfile を書くベスト・プラクティス, Docker-docs-ja 19.03 ドキュメント, https://docs.docker.jp/engine/userguide/eng-image/dockerfile_best-practice.html, 2021/06/10
3)
Dockerfile ARG入門, Qiita, https://qiita.com/nacika_ins/items/cf8ceb20711bd077f770, 2021/06/10
4)
docker build –build-argするときのDockerfileにご注意, Qiita, https://qiita.com/bohebohechan/items/4064153aad47b2381f1e, 2021/06/10
5)
Alpine Linux でタイムゾーンを変更する, Qiita, https://qiita.com/dtan4/items/8359e389b95cbc60952d, 2021/05/26
6)
dockerでvolumeをマウントしたときのファイルのowner問題, https://qiita.com/yohm/items/047b2e68d008ebb0f001, Qiita, 2021/07/08
7)
Docker Composeのvolumes使用時に出会うpermission deniedに対応する一つの方法, https://qiita.com/cheekykorkind/items/ba912b62d1f59ea1b41e, Qiita, 2021/07/08
8)
dockerfileでパスワードを求めないsudoer作り(Alpine、Debian、Ubuntu、Centos), https://qiita.com/cheekykorkind/items/ad499245bda4c85c6d75, Qiita, 2021/07/08
docker_dockerfile.txt · 最終更新: 2021/08/21 16:04 by 127.0.0.1