Rumah Operasi dan penyelenggaraan Docker Pemasangan luar talian docker gagal dimulakan

Pemasangan luar talian docker gagal dimulakan

Apr 25, 2023 am 09:02 AM

Di bawah gelombang pengkomputeran awan dan kontena semasa, Docker telah muncul sebagai teknologi kontena aplikasi arus perdana dan telah menjadi salah satu alat yang paling banyak digunakan dalam bidang operasi, penyelenggaraan dan pembangunan. Dalam konteks ini, pemasangan luar talian Docker juga telah menjadi keperluan yang sangat biasa Kerana ramai pengguna tidak dapat menyambung ke Internet, atau sambungan Internet dilarang kerana faktor keselamatan dan lain-lain, pemasangan luar talian telah menjadi salah satu kaedah pemasangan yang paling mudah. Walau bagaimanapun, semasa pemasangan luar talian Docker, pemasangan selalunya berjaya tetapi permulaannya gagal, yang merupakan masalah yang sangat menyusahkan untuk pemula.

Artikel ini akan bermula daripada operasi sebenar, memperkenalkan kaedah pemasangan luar talian Docker dan menjalankan analisis terperinci tentang kegagalan permulaan untuk memberikan anda panduan terperinci.

1. Pemasangan luar talian Docker

Terdapat dua cara untuk memasang Docker di luar talian: satu ialah memasang dengan memuat turun fail binari Docker dan satu lagi ialah memasang dengan mengkonfigurasi sumber yum. Yang pertama adalah sesuai terutamanya untuk pelayan tanpa keadaan rangkaian, manakala yang kedua sesuai untuk pemasangan luar talian persekitaran pembangunan Linux.

1. Pasang dengan memuat turun fail binari Docker

Prinsip kaedah ini agak mudah, iaitu memuat turun fail binari Docker ke tempatan dan kemudian memasangnya. Langkah-langkah khusus adalah seperti berikut:

1.1 Dapatkan fail binari Docker

Muat turun versi fail binari Docker yang sepadan daripada tapak web rasmi https://www.docker.com/. Semasa memuat turun, anda perlu mengetahui maklumat tentang sistem pengendalian semasa Untuk sistem centos, anda boleh memilih untuk memuat turun fail binari yang sepadan dengan alamat berikut.

https://download.docker.com/linux/static/stable/x86_64/ docker-version number.tgz

1.2 Pasang fail binari Docker

Semasa pemasangan Anda perlu unzip fail binari yang dimuat turun dan alihkan fail docker dan dockerd ke direktori /usr/bin.

tar -xvf docker-version number.tgz
cp docker/* /usr/bin

2 Pasang dengan mengkonfigurasi sumber yum

di bawah sistem centos , anda boleh memasang Docker di luar talian dengan mengkonfigurasi sumber yum. Langkah-langkah khusus adalah seperti berikut:

2.1 Dapatkan sumber yum Docker

Muat turun versi sepadan pakej pemasangan Docker dari tapak web rasmi https://www.docker.com/. Semasa memuat turun, anda perlu mengetahui maklumat tentang sistem pengendalian semasa dan memuat turun pakej rpm yang sepadan dengan versi sistem.

2.2 Cipta sumber yum tempatan

Buat direktori sumber yum tempatan, salin pakej pemasangan Docker yang dimuat turun ke direktori ini dan cipta direktori melalui arahan createrepo

mkdir /var/docker
cp docker-ce*.rpm /var/docker
createrepo /var/docker

2.3 Konfigurasikan sumber yum

dalam /etc/yum Cipta yang baharu fail repo dalam direktori .repos.d dan tulis kandungan berikut

[docker-local]
name=Docker Local repo
baseurl=file:///var/docker
enabled =1
gpgcheck=0

2.4 Pasang Docker

Laksanakan arahan berikut untuk memasang Docker

yum install docker-ce

2 , Solution kepada kegagalan permulaan

1. Penerangan masalah

Selepas melengkapkan pemasangan luar talian Docker di atas, anda mungkin menghadapi situasi di mana Docker gagal dimulakan dan ralat berikut berlaku:

$ sudo systemctl start docker
Kerja untuk docker.service gagal kerana proses kawalan keluar dengan kod ralat.
Lihat "systemctl status docker.service" dan "journalctl -xe" untuk mendapatkan butiran.

Melaksanakan arahan systemctl status docker.service menunjukkan bahawa sebab kegagalan permulaan ialah perintah "ExecStart" dalam fail docker.service tidak dapat dilaksanakan dengan jayanya:

$ sudo systemctl status docker.service
. ..
30 Apr 07:40:32 localhost.localdomain systemd[1]: Memulakan Enjin Kontena Aplikasi Docker.
Apr 30 07:40:32 localhost.localdomain systemd[1]: docker.service: proses utama keluar, code=exited , status=1/FAILURE
Apr 30 07:40:32 localhost.localdomain systemd[1]: Unit docker.service memasuki keadaan gagal.
Apr 30 07:40:32 localhost.localdomain systemd[1]: docker.service gagal.
30 Apr 07:40:32 localhost.localdomain systemd[1]: masa penangguhan docker.service tamat, penjadualan dimulakan semula.
Apr 30 07:40:32 localhost. localdomain systemd[1] : Enjin Kontena Aplikasi Docker Dihentikan.

$sudo journalctl -xe
dockerd-current[14552]: time="2020-04-30T07:40:32.652790118+08:00" level=error msg= "pemberitahu sistem gagal: Tidak dapat memuatkan modul systemd "libsystemd.so": tidak boleh membuka kongsi o
dockerd-current[14552]: gagal memulakan daemon: Ralat memulakan pengawal rangkaian: senarai alamat jambatan gagal: Senarai PredefinedLocalScopeDefaultNetworks gagal: Pratakrif
dockerd-current[14552]: Ralat semasa memulakan daemon: Ralat memulakan pengawal rangkaian: senarai alamat jambatan gagal: PredefinedLocalScopeDefaultNetworks Senarai gagal: Pratakrif
proses exid.[1]:proses utama sistem. code=exited, status =1/FAILURE
systemd[1]: Gagal memulakan Enjin Kontena Aplikasi Docker.
systemd[1]: Unit docker.service memasuki keadaan gagal.
systemd[1]: docker .servis gagal.

2

Melalui mesej ralat di atas, anda boleh mendapati bahawa sebab mengapa Docker gagal dimulakan adalah kerana pengawal rangkaian Docker tidak boleh dimulakan. Khususnya, ini adalah kerana pengawal rangkaian Docker menguruskan rangkaian kontena melalui tembok api iptables, dan tembok api melarang semua trafik bukan tempatan secara lalai. Untuk Docker, peraturan yang berkaitan akan ditambahkan secara automatik pada iptables apabila ia dimulakan buat kali pertama Namun, jika Docker dipasang di luar talian dimulakan buat kali pertama, penambahan peraturan akan gagal, menyebabkan pengawal rangkaian gagal dimulakan. Manifestasi khusus ialah apabila pengguna memulakan Docker, Docker akan secara automatik mencipta jambatan bernama docker0 berdasarkan alamat IP tempatan Jika operasi ini gagal, Docker tidak akan dapat dimulakan.

3. Penyelesaian Masalah

Terdapat dua cara utama untuk menyelesaikan masalah ini:

3.1 Buat jambatan docker0

Mencipta jambatan docker0 boleh menyelesaikan masalah secara manual Untuk masalah ini, di bawah centos, anda boleh melaksanakan arahan berikut untuk mencipta jambatan docker0 secara manual:

pautan ip sudo tambah nama jambatan jenis docker0
sudo ip addr add dev docker0 172.17.0.1/16
pautan sudo ip set dev docker0 up

Selepas melengkapkan operasi di atas, mulakan Docker sekali lagi dan laksanakan arahan berikut sebagai pentadbir:

$ sudo systemctl start docker

ke Docker permulaan yang lengkap.

3.2 Ubah suai peraturan firewall

Mematikan firewall atau mengubah suai peraturan firewall juga merupakan cara yang berkesan untuk menyelesaikan masalah ini. Apabila mematikan firewall, anda boleh menggunakan arahan berikut:

$ systemctl stop firewalld
$ systemctl disable firewalld

Tetapi keadaan ini tidak disyorkan untuk mengekalkan sistem firewall sebanyak mungkin mengikut keperluan keselamatan.

Jika anda ingin mengubah suai peraturan iptables, anda boleh menambah peraturan melalui arahan berikut:

$ sudo iptables -P FORWARD ACCEPT
$ sudo iptables -I FORWARD -j ACCEPT
$ sudo service iptables save

Selepas melaksanakan operasi di atas, mulakan Docker sekali lagi dan ia akan bermula seperti biasa.

3. Ringkasan

Melalui pengenalan artikel ini, kita dapat melihat bahawa apabila memasang Docker di luar talian, Docker mungkin tidak bermula kerana masalah rangkaian. Pada masa ini, kita perlu memahami prinsip kerja pengawal rangkaian Docker dan mengkonfigurasinya secara manual atau membuat pengubahsuaian tertentu pada firewall iptables untuk akhirnya menyelesaikan masalah kegagalan permulaan Docker. Sudah tentu, kita juga boleh menyelesaikan masalah sedemikian dengan menyemak mesej ralat tertentu dalam masa dan menjalankan analisis.

Oleh itu, semasa pemasangan luar talian dan permulaan Docker, kita perlu sentiasa berhati-hati dan bersabar, terus mencuba dan nyahpepijat, dan akhirnya mencari kaedah yang sesuai untuk menyelesaikan masalah tersebut.

Atas ialah kandungan terperinci Pemasangan luar talian docker gagal dimulakan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Arahan sembang dan cara menggunakannya
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimanakah saya menggunakan aplikasi ke kluster Swarm Docker? Bagaimanakah saya menggunakan aplikasi ke kluster Swarm Docker? Mar 17, 2025 pm 04:20 PM

Butiran artikel yang menggerakkan aplikasi ke docker swarm, meliputi penyediaan, langkah penempatan, dan langkah -langkah keselamatan semasa proses.

Apakah pod, penyebaran, dan perkhidmatan Kubernetes? Apakah pod, penyebaran, dan perkhidmatan Kubernetes? Mar 17, 2025 pm 04:25 PM

Artikel ini menerangkan pod, penyebaran, dan perkhidmatan Kubernetes, memperincikan peranan mereka dalam menguruskan aplikasi kontena. Ia membincangkan bagaimana komponen ini meningkatkan skalabiliti, kestabilan, dan komunikasi dalam aplikasi. (159 aksara)

Bagaimanakah saya membuat skala aplikasi di Kubernet? Bagaimanakah saya membuat skala aplikasi di Kubernet? Mar 17, 2025 pm 04:28 PM

Artikel ini membincangkan aplikasi penskalaan di Kubernet menggunakan skala manual, HPA, VPA, dan AutoScaler kluster, dan menyediakan amalan dan alat terbaik untuk pemantauan dan mengautomasikan skala.

Bagaimana saya melaksanakan kemas kini rolling di Swarm Docker? Bagaimana saya melaksanakan kemas kini rolling di Swarm Docker? Mar 17, 2025 pm 04:23 PM

Artikel ini membincangkan pelaksanaan kemas kini rolling di Swarm Docker untuk mengemas kini perkhidmatan tanpa downtime. Ia meliputi perkhidmatan mengemas kini, menetapkan parameter kemas kini, memantau kemajuan, dan memastikan kemas kini yang lancar.

Bagaimana saya menguruskan perkhidmatan di Swarm Docker? Bagaimana saya menguruskan perkhidmatan di Swarm Docker? Mar 17, 2025 pm 04:22 PM

Artikel membincangkan pengurusan perkhidmatan dalam Swarm Docker, memberi tumpuan kepada penciptaan, skala, pemantauan, dan mengemas kini tanpa downtime.

Bagaimana saya menguruskan penyebaran di Kubernet? Bagaimana saya menguruskan penyebaran di Kubernet? Mar 17, 2025 pm 04:27 PM

Artikel ini membincangkan pengurusan penyebaran Kubernet, memberi tumpuan kepada penciptaan, kemas kini, skala, pemantauan, dan automasi menggunakan pelbagai alat dan amalan terbaik.

Bagaimana saya membuat kelompok docker swarm? Bagaimana saya membuat kelompok docker swarm? Mar 17, 2025 pm 04:19 PM

Artikel membincangkan membuat dan menguruskan kluster docker swarm, termasuk persediaan, perkhidmatan skala, dan amalan terbaik keselamatan.

Soalan Temuduga Docker: Ace Wawancara Kejuruteraan DevOps Anda Soalan Temuduga Docker: Ace Wawancara Kejuruteraan DevOps Anda Apr 06, 2025 am 12:01 AM

Docker adalah kemahiran yang mesti ada untuk jurutera DevOps. 1.Docker adalah platform kontena sumber terbuka yang mencapai pengasingan dan mudah alih dengan aplikasi pembungkusan dan kebergantungan mereka ke dalam bekas. 2. Docker bekerja dengan ruang nama, kumpulan kawalan dan sistem fail bersekutu. 3. Penggunaan asas termasuk mencipta, menjalankan dan menguruskan bekas. 4. Penggunaan lanjutan termasuk menggunakan DockerCompose untuk menguruskan aplikasi multi-kontainer. 5. Kesilapan umum termasuk kegagalan kontena, masalah pemetaan pelabuhan, dan masalah ketekunan data. Kemahiran penyahpepijatan termasuk log melihat, memasukkan bekas, dan melihat maklumat terperinci. 6. Pengoptimuman prestasi dan amalan terbaik termasuk pengoptimuman imej, kekangan sumber, pengoptimuman rangkaian dan amalan terbaik untuk menggunakan Dockerfile.

See all articles