Docker ialah platform kontena popular yang membolehkan pengguna membuat, menggunakan dan menjalankan aplikasi dengan cepat. Walau bagaimanapun, kadangkala anda mungkin menghadapi beberapa masalah seperti tidak menemui sesuatu dalam Docker. Ini mungkin mengelirukan kerana anda mungkin sudah memasang komponen yang diperlukan.
Dalam artikel ini, kami akan meneroka pelbagai situasi yang tidak ditemui dalam Docker dan cara menyelesaikannya.
Masalah 1: Imej Docker tidak ditemui
Apabila anda ingin menjalankan imej dalam Docker, anda mungkin menghadapi ralat berikut:
docker: Error response from daemon: manifest for <image> not found
Atau:
docker: Error response from daemon: repository <image> not found: does not exist or no pull access
Ini bermakna Docker tidak dapat mencari imej yang diperlukan. Ini boleh disebabkan oleh sebab berikut:
Penyelesaian:
Jika ini ialah imej peribadi, sila pastikan anda mempunyai kebenaran yang mencukupi untuk mengaksesnya. Anda boleh menggunakan arahan berikut untuk log masuk:
docker login
Isu 2: Bekas tidak ditemui
Apabila anda cuba mencari bekas menggunakan arahan berikut:
docker ps
Anda mungkin menerima ralat berikut:
docker: Error response from daemon: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?.
Ini bermakna daemon Docker tidak berjalan.
Penyelesaian:
Semak sama ada perkhidmatan Docker sedang berjalan:
systemctl status docker
Jika perkhidmatan tidak berjalan, sila Mulakannya menggunakan arahan berikut:
systemctl start docker
Isu 3: Rangkaian Docker tidak ditemui
Bekas docker biasanya berkomunikasi antara satu sama lain melalui rangkaian. Jika anda tidak menemui sesuatu dalam rangkaian Docker, anda mungkin menghadapi ralat berikut:
Get http://my-container:8080: dial tcp: lookup my-container on <DNS server>: no such host
Ini bermakna Docker tidak dapat menyelesaikan nama hos bekas.
Penyelesaian:
Pastikan bekas anda telah menyertai rangkaian Docker. Anda boleh menyemak menggunakan arahan berikut:
docker network ls
Jika bekas anda belum disambungkan ke rangkaian, gunakan arahan berikut untuk menambahkannya ke rangkaian:
docker network connect <network> <container>
Di mana, <network>
ialah nama rangkaian yang anda ingin tambahkan bekas itu dan <container>
ialah nama bekas atau ID yang ingin anda tambahkan pada rangkaian.
Jika bekas anda masih tidak dapat menyelesaikan nama hos, sila pastikan konfigurasi DNS anda betul. Anda boleh menggunakan arahan berikut untuk melihat konfigurasi DNS bekas:
docker exec <container> cat /etc/resolv.conf
Jika fail ini kosong atau salah, konfigurasikan pelayan DNS yang betul dalam bekas.
Masalah 4: Kelantangan data Docker tidak ditemui
Apabila anda cuba melihat volum data Docker menggunakan arahan berikut:
docker volume ls
Anda Anda mungkin melihat senarai kosong, yang bermaksud anda tidak mempunyai sebarang volum data.
Penyelesaian:
Pastikan anda telah mencipta sekurang-kurangnya satu volum data. Anda boleh menggunakan arahan berikut untuk mencipta volum data:
docker volume create <name>
di mana <name>
ialah nama yang ingin anda tentukan untuk volum data.
Jika anda telah mencipta kelantangan, pastikan ia diikat dengan betul pada bekas. Anda boleh menggunakan arahan berikut untuk menyemak status pengikatan bekas:
docker inspect <container> | grep Volumes
Jika arahan ini kembali kosong, volum data anda tidak terikat dengan betul.
Kesimpulan
Adalah perkara biasa untuk tidak menemui sesuatu dalam Docker. Biasanya ini disebabkan oleh salah konfigurasi atau isu dengan persekitaran Docker. Dalam artikel ini, kami membincangkan pelbagai senario di mana imej, bekas, rangkaian dan volum tidak ditemui dalam Docker dan menyediakan penyelesaian kepada isu berkaitan. Dengan mengikuti langkah ini, anda sepatutnya dapat menyelesaikan sebarang masalah yang anda hadapi dengan Docker.
Atas ialah kandungan terperinci Terokai pelbagai situasi yang tidak ditemui dalam Docker. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!