Saya tidak yakin bagaimana memberi nama Dockerfiles. Banyak di GitHub menggunakan Dockerfile
tanpa ekstensi file. Apakah saya memberi mereka nama dan ekstensi; jika demikian apa Atau apakah saya hanya memanggil mereka Dockerfile
?
docker
dockerfile
naming-conventions
Lloyd R. Prentice
sumber
sumber
docker build
perintah, yang berarti bahwa setiap gambar akan dibangun kembali tanpa perlu jika file galangan gambar lain diubah.dev.Dockerfile
,test.Dockerfile
,build.Dockerfile
DllPada VS Code saya gunakan
<purpose>.Dockerfile
dan dikenali dengan benar.sumber
Saya pikir Anda harus memiliki direktori per kontainer dengan Dockerfile (tanpa ekstensi) di dalamnya. Sebagai contoh:
Saat Anda membangun, cukup gunakan nama direktori, Docker akan menemukan Dockerfile. misalnya:
sumber
Jika Anda ingin menggunakan autobuilder di hub.docker.com, itu harus
Dockerfile
. Jadi disana :)sumber
Tampaknya ini benar tetapi, secara pribadi, menurut saya desainnya buruk. Tentu, memiliki nama default (dengan ekstensi) tetapi mengizinkan nama lain dan memiliki cara untuk menentukan nama file buruh pelabuhan untuk perintah.
Memiliki ekstensi juga bagus karena memungkinkan seseorang untuk mengaitkan aplikasi ke jenis ekstensi itu. Ketika saya mengklik Dockerfile di MacOSX, ia memperlakukannya sebagai Unix yang dapat dieksekusi dan mencoba menjalankannya.
Jika file Docker memiliki ekstensi, saya dapat memberi tahu OS untuk memulainya dengan aplikasi tertentu, misalnya aplikasi editor teks saya. Saya tidak yakin tetapi perilaku saat ini mungkin juga terkait dengan izin file.
sumber
Saya telah membuat dua Dockerfile di direktori yang sama,
untuk membangun kedua penggunaan Dockerfiles,
Catatan: Anda harus berada di direktori kerja saat ini ..
sumber
Anda dapat menamai Dockerfiles sesuka Anda. Nama file default adalah
Dockerfile
(tanpa ekstensi), dan menggunakan default dapat membuat berbagai tugas lebih mudah saat bekerja dengan container.Tergantung pada kebutuhan spesifik Anda, Anda mungkin ingin mengubah nama file. Jika Anda membuat untuk beberapa arsitektur, misalnya, Anda mungkin ingin menambahkan ekstensi yang menunjukkan arsitektur seperti yang telah dilakukan tim resin.io untuk penampung HAProxy, contoh ARM multi-container mereka :
Dalam contoh yang diberikan, setiap Dockerfile dibuat dari image upstream khusus arsitektur yang berbeda. Dockerfile spesifik yang akan digunakan untuk build dapat ditentukan menggunakan
--file, -f
opsi saat membuat container Anda menggunakan command line.sumber
Saya tahu ini adalah pertanyaan lama, dengan beberapa jawaban, tetapi saya terkejut menemukan bahwa tidak ada yang menyarankan konvensi penamaan yang digunakan dalam dokumentasi resmi :
Singkatnya, jika Anda memiliki file yang dipanggil
Dockerfile
di root konteks build Anda, itu akan diambil secara otomatis. Jika Anda memerlukan lebih dari satuDockerfile
untuk konteks build yang sama, konvensi penamaan yang disarankan adalah:File galangan ini bisa berada di root konteks build Anda atau di subdirektori untuk menjaga direktori root Anda lebih rapi.
sumber
Dockerfile
bagus jika Anda hanya memiliki satu file buruh pelabuhan (per direktori). Anda dapat menggunakan standar apa pun yang Anda inginkan jika Anda memerlukan beberapa file buruh pelabuhan di direktori yang sama - jika Anda punya alasan yang bagus. Dalam proyek baru-baru ini ada file buruh pelabuhan AWS dan file lingkungan dev lokal karena lingkungannya cukup berbeda:Dockerfile
Dockerfile.aws
sumber
Dockerfile.armv7hf
sebelah aDockerfile.i386
.Dockerfile (nama dan folder khusus):
Membangun:
sumber