目次
Dockerfile
書式
FROM
MAINTAINER
COPY
RUN
CMD
ADD
EXPOSE
Tips
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