Format Rujukan Docker Invalide

Format Rujukan Docker Invalide



Apabila bekerja dengan imej Docker atau Dockerfile, anda mungkin menghadapi ralat 'format rujukan tidak sah'.

Dalam tutorial ini, kami akan mempelajari maksud ralat ini, mengapa ia berlaku dan bagaimana anda boleh menyelesaikannya dalam penggunaan Docker anda.

Apakah Rujukan Imej dalam Docker?

Dalam Docker, rujukan imej merujuk kepada kaedah mengenal pasti dan mencari imej Docker tertentu dalam pendaftaran Docker (Hab Docker) atau hos Docker tempatan.







Secara lalai, rujukan imej terdiri daripada dua komponen utama:



Repositori - Bahagian pertama mentakrifkan repositori untuk imej sasaran. Ini ialah unit organisasi peringkat atas untuk imej Docker, terutamanya digunakan untuk mewakili organisasi atau individu yang menguruskan imej. Sebagai contoh, anda boleh mencari imej bernama Microsoft/SQL-server. Dalam kes ini, bahagian pertama mewakili organisasi yang mengekalkan imej.



Tag – Bahagian kedua imej ialah label yang dikaitkan dengan versi atau varian tertentu imej dalam repositori. Teg imej boleh mewakili versi berbeza bagi imej yang sama, keluaran berbeza atau keserasian berbeza. Contohnya, dalam imej nginx:latest di mana teg terkini merujuk kepada versi terkini imej Nginx.





Apabila menentukan imej dalam sama ada arahan Dockerfile atau docker, nama imej mesti mengikut peraturan penamaan berikut:

  • Nama repositori hendaklah huruf kecil.
  • Repositori juga boleh mengandungi huruf, nombor, sempang (-), garis bawah (_), atau garis miring ke hadapan (/) untuk menunjukkan organisasi atau kumpulan dalam pendaftaran.
  • Tiada aksara ruang putih (ruang atau tab) harus berada dalam nama imej.

Format Rujukan Tidak Sah Docker

Apabila anda mendapat ralat 'format rujukan tidak sah' semasa menjalankan arahan Dockerfile atau Docker, ini bermakna nama anda tidak mematuhi peraturan di atas.



Contohnya adalah seperti yang ditunjukkan:

$ buruh pelabuhan tarik BusyBox

Jika kita menjalankan arahan di atas, ia akan mengembalikan ralat seperti yang ditunjukkan:

tidak sah rujukan format: nama repositori mestilah huruf kecil

Dalam kes ini, ia memberitahu kami bahawa format nama imej adalah salah, kerana nama imej hendaklah sentiasa menggunakan huruf kecil.

Cara Membetulkan Ralat Format Rujukan Tidak Sah Docker

Seperti yang anda boleh rasa, kaedah pertama ialah memastikan format rujukan imej adalah betul. Ini termasuk mengesahkan bahawa nama imej itu sah.

Sebagai contoh, dalam arahan di atas, kita boleh membetulkan ralat dengan menentukan nama imej sebagai:

$ sudo docker pull busybox:terkini

Dalam kes ini, arahan harus menarik versi terkini imej Busybox.

Kaedah 2 – Pisahkan Perintah Docker Panjang

Dalam sesetengah kes lain, anda mungkin menghadapi ralat 'format rujukan tidak sah' semasa menjalankan arahan Docker yang panjang.

Dalam kes sedemikian, membahagikan arahan kepada beberapa baris adalah amalan yang baik. Kaedah pemisahan arahan bergantung pada shell dan sistem anda.

  • Walau bagaimanapun, untuk cangkerang Bash, gunakan aksara melarikan diri berbilang baris atau garis serong ke belakang (\).
  • Untuk PowerShell, anda boleh menggunakan aksara backtick (`).
  • Akhir sekali, jika anda menggunakan Prompt Perintah, anda boleh menggunakan aksara karet sebagai ^

Sebagai contoh, pada Bash, jalankan arahan sebagai:

$ sudo binaan buruh pelabuhan \

-ia \

kotak sibuk \

sh

Pada PowerShell, anda boleh menjalankan arahan seperti yang ditunjukkan:

$ sudo binaan buruh pelabuhan `

-ia `

kotak sibuk `

sh

Dan akhir sekali, jika anda berada di Prompt Perintah, gunakan arahan seperti yang ditunjukkan:

$ sudo binaan buruh pelabuhan ^

-ia ^

kotak sibuk ^

sh

Kaedah 3 – laluan ${pwd} DAN $(pwd).

Satu lagi punca biasa ralat ini ialah apabila menggunakan pembolehubah ${pwd}. Ini boleh menyebabkan konflik, bergantung pada jenis shell yang anda laksanakan arahan tersebut.

Dalam kes PowerShell, anda perlu menggunakan pembolehubah ${pwd} dan bukannya $(pwd).

Seperti yang anda boleh meneka, dalam kes Bash, gunakan format kurungan dan bukannya input pendakap kerinting sebagai $(pwd).

Kesimpulan

Siaran ini membincangkan punca utama 'format rujukan tidak sah' apabila bekerja dengan Dockerfile atau arahan docker. Kami juga meneroka tiga kaedah utama yang boleh anda gunakan untuk menyelesaikan isu ini.