Saya memiliki Dockerfile
yang seharusnya untuk membangun sebuah Ubuntu
gambar. Tapi ketika pernah saya jalankan
docker build -t ubuntu-test:latest ./Dockerfile
Hal itu menunjukkan kesalahan berikut pada console
mampu mempersiapkan konteks: konteks harus direktori: /Users/tempUser/git/docker/Dockerfile
I'm di Mac OsX. Saya mencoba untuk sudo
juga. Tidak ada pekerjaan.
Anda perlu untuk menunjuk ke direktori sebagai gantinya. Anda tidak harus menentukan dockerfile.
docker membangun -t ubuntu-test:terbaru .
tidak kerja.
docker membangun -t ubuntu-test:terbaru ./Dockerfile
tidak tidak bekerja.
Untuk menentukan Dockerfile
ketika membangun, anda dapat menggunakan:
docker build -t ubuntu-test:latest - < /path/to/your/Dockerfile
Tapi itu'akan gagal jika ada's ADD
atau COPY
perintah yang tergantung pada path relatif. Ada're banyak cara untuk menentukan konteks
untuk docker membangun
, anda dapat merujuk ke docs docker membangun untuk info lebih lanjut.
docker membangun
perintahSintaks dasar dari docker's membangun perintah
docker build -t imagename:imagetag context_dir
Konteks adalah sebuah direktori dan menentukan apa yang docker membangun proses akan melihat: Dari Dockerfile's point of view, file context_dir/dirsaya/myfile
di filesystem anda akan menjadi /dirsaya/myfile
di Dockerfile dan oleh karena itu selama proses membangun.
Jika dockerfile disebut Dockerfile
dan hidup dalam konteks, maka akan ditemukan secara implisit oleh konvensi penamaan.
Yang's bagus, karena itu berarti anda biasanya dapat menemukan Dockerfile dalam setiap kontainer docker segera.
Jika anda bersikeras menggunakan nama yang berbeda, mengatakan "/tmp/mydockerfile", anda dapat menggunakan -f
seperti ini:
docker build -t imagename:imagetag -f /tmp/mydockerfile context_dir
tapi kemudian dockerfile tidak akan berada di folder yang sama atau setidaknya akan lebih sulit untuk menemukan.
It's sederhana, setiap kali Docker membangun dijalankan, docker ingin tahu, apa yang's gambar nama, jadi kita perlu untuk lulus -t
docker membangun -t <image_name>:<versi> .
Contoh
docker membangun -t my_apache:terbaru .
dengan asumsi anda berada di direktori yang sama seperti yang anda Dockerfile jika tidak lulus -f bendera dan Dockerfile.
docker membangun -t my_apache:terbaru -f ~/Pengguna/dokumen/myapache/Dockerfile
Saya menghadapi masalah yang sama. Saya menggunakan docker versi:17.09.0-ce
.
Aku mengikuti langkah di bawah ini:
$ sudo docker membangun -t ubuntu-test:terbaru .
Itu masalah terselesaikan dan gambar yang dibuat successsfully.
Catatan: perintah membangun tergantung pada docker versi serta yang membangun pilihan yang kita gunakan. :)