Rumah  >  Artikel  >  Operasi dan penyelenggaraan  >  Docker bermula secara automatik tanpa but

Docker bermula secara automatik tanpa but

PHPz
PHPzasal
2023-05-13 13:05:07680semak imbas

Docker ialah salah satu perisian kontena paling popular pada masa ini, yang boleh membantu pembangun mencipta dan menjalankan aplikasi dengan lebih mudah. Tetapi kadangkala, anda mungkin menghadapi masalah: Docker tidak akan bermula secara automatik selepas anda memulakan komputer anda. Jika anda mahu Docker bermula secara automatik, mari lihat cara untuk menyediakannya.

  1. Prasyarat

Sebelum menyediakan, anda perlu terlebih dahulu mengesahkan sama ada Docker anda telah memasang fail systemd dan daemon.json. Kedua-dua fail diperlukan kerana ia akan membantu Docker bermula secara automatik semasa but.

Jika ia tidak dipasang pada sistem anda, anda boleh memasangnya menggunakan arahan berikut:

sudo apt-get update
sudo apt-get install systemd
  1. Edit fail daemon.json

Dayakan Docker Pada sistem, anda perlu mengedit fail /etc/docker/daemon.json. Jika fail itu tidak wujud, anda boleh menciptanya menggunakan arahan berikut:

sudo nano /etc/docker/daemon.json

Kemudian, tambahkan kod berikut pada fail:

{
    "default-address-pools":
    [
        {"base":"172.0.0.0/8","size":16},
        {"base":"192.168.0.0/16","size":24}
    ],
    "log-driver": "json-file",
    "log-opts": {
        "max-size": "10m",
        "max-file": "3"
    }
}

Coretan kod ini mengandungi beberapa maklumat konfigurasi Docker. Ia juga mengandungi kumpulan alamat lalai yang akan digunakan untuk menetapkan alamat IP kepada bekas Docker. Anda boleh mengubahnya mengikut keperluan.

  1. Tambah fail systemd

Seterusnya, anda perlu mencipta fail systemd bernama docker.service dan menambahnya ke tengah direktori /etc/systemd/system/.

Buat fail baharu menggunakan arahan berikut:

sudo nano /etc/systemd/system/docker.service

Tambahkan kod berikut pada fail:

[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target sshd.service
Wants=network-online.target

[Service]
Type=notify
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
ExecReload=/bin/kill -s HUP $MAINPID
EnvironmentFile=-/run/flannel/docker
Restart=always
RestartSec=3
LimitNOFILE=1048576
LimitNPROC=infinity
LimitCORE=infinity

[Install]
WantedBy=multi-user.target

Fail ini akan memberitahu systemd cara memulakan Docker dan mengkonfigurasi beberapa pilihan , seperti berikut:

  • Penerangan: nama perkhidmatan
  • Dokumentasi: pautan ke dokumentasi rasmi Docker
  • Selepas: senarai perkhidmatan lain yang perlu dimulakan apabila perkhidmatan bermula
  • Mahu: Selepas beberapa perkhidmatan tersenarai dimuatkan, perkhidmatan akan dimulakan selepas kelewatan
  • Jenis: Jenis perkhidmatan
  • ExecStart: Perintah permulaan perkhidmatan
  • ExecReload: Perintah muat semula perkhidmatan
  • EnvironmentFile: Laluan pemuatan fail berubah-ubah persekitaran
  • Mula semula: Bagaimana untuk memulakan semula perkhidmatan
  • RestartSec: Masa selang untuk memulakan semula perkhidmatan
  • LimitNOFILE: Had atas bilangan deskriptor fail yang boleh dibuka oleh proses
  • LimitNPROC: had atas bilangan utas yang boleh dibuat oleh proses
  • LimitCORE: had memori maksimum yang boleh digunakan oleh proses
  1. Muat Semula systemd

Selepas menambah fail systemd pada direktori /etc/systemd/system/, anda perlu memuat semula proses systemd untuk konfigurasi berkuat kuasa. Anda boleh menggunakan arahan berikut untuk memuat semula systemd.

sudo systemctl daemon-reload
  1. Dayakan systemd

Langkah seterusnya ialah untuk membolehkan perkhidmatan Docker bermula secara automatik. Anda boleh mendayakan systemd menggunakan arahan berikut.

sudo systemctl enable docker.service

Arahan ini akan memulakan Docker secara automatik apabila but.

Akhir sekali

Kini, anda telah mempelajari cara untuk memulakan perkhidmatan Docker secara automatik apabila sistem dimulakan. Jika anda menghadapi masalah Docker lain, anda boleh merujuk kepada dokumentasi Docker rasmi atau meminta bantuan dalam komuniti.

Atas ialah kandungan terperinci Docker bermula secara automatik tanpa but. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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