Kumpletong Gabay sa Pag-configure ng Docker sa Linux: Pagganap at Seguridad

Huling pag-update: 06/08/2026
May-akda: Isaac
  • Pagpapatupad ng mga nakahiwalay na kapaligiran upang maiwasan ang mga tunggalian sa dependency at mapabuti ang katatagan ng sistema.
  • Paglalapat ng mga advanced na security layer sa pamamagitan ng non-root user management at network segmentation.
  • Pag-optimize ng imahe gamit ang mga multi-stage build upang mabawasan ang attack surface at pagkonsumo ng resource.

Konpigurasyon ng Docker

Kung papasok ka sa mundo ng lightweight virtualization, malamang ay marami ka nang nakitang mga gabay na tila isinulat para sa mga inhinyero ng NASA. Ang totoo ay... mag-set up ng home server Hindi kailangang maging sakit ng ulo ang pamamahala ng mga aplikasyon sa isang VPS kung naiintindihan mo ang mga pangunahing kaalaman at sumusunod sa isang malinaw na metodolohiya, lalo na kung gumagamit ka ng mga distro tulad ng Ubuntu o Debian.

Dumating ang Docker upang iligtas ang ating mga buhay sa pamamagitan ng pag-aalis ng maalamat na problema ng "Gumagana ito sa aking makina"Sa pamamagitan ng pagsasama-sama ng bawat serbisyo gamit ang sarili nitong mga library at dependency, nakakamit namin ang isang pare-parehong kapaligiran at pinipigilan ang mga conflict sa pagitan ng mga application, na nagbibigay-daan sa amin na i-deploy ang lahat mula sa isang file server hanggang sa isang home automation system nang walang takot na masira ang host operating system.

mga manwal ng server
Kaugnay na artikulo:
Kumpletong gabay sa mga manwal ng server para sa Windows at Linux

Ano nga ba ang Docker at bakit mo ito dapat gamitin?

Mga konsepto ng lalagyan

Sa madaling salita, ang Docker ay isang plataporma na nagbibigay-daan sa iyong lumikha mga nakahiwalay na kapaligiran na tinatawag na mga lalagyanHindi tulad ng mga tradisyunal na virtual machine, na nangangailangan ng kumpletong operating system para sa bawat instance, ang mga container ay nagbabahagi ng kernel ng host system. Dahil dito, sila ay napakagaan at mabilis magsimula.

Malinaw ang mga bentahe: mayroon kang napakabilis na pagpapatupad Mga serbisyo, kumpletong paghihiwalay na pumipigil sa pagkabigo sa isang app na makaapekto sa iba, at kamangha-manghang kadalian sa pagdadala. Nasa Intel NUC ka man sa bahay o isang malakas na VPS na may NVMe storage, ang application ay gagana nang eksakto pareho.

Mga kinakailangan at paghahanda ng sistema

I-install ang linux sa windows 11 gamit ang wsl2 ubuntu native virtual machine
Kaugnay na artikulo:
Pag-install ng Linux sa Windows 11 gamit ang WSL2 at Ubuntu: isang kumpletong gabay

Para maging maayos ang lahat, kailangan mo ng Linux server (bagaman gumagana rin ito sa Windows at Mac gamit ang Docker Desktop sa Windows at macOS). Kung gagamit ka ng kapaligirang tulad ng Ubuntu Server 24.04LTS o Debian, nasa tamang landas ka. Sa usapin ng hardware, kasama ang 2GB ng RAM at 5GB ng espasyo sa disk Kadalasan ay higit pa ito sa sapat upang makapagsimula, hangga't ang kernel ay bersyon 3.10 o mas mataas pa.

  Paano paganahin ang hardware acceleration sa mga browser ng Linux

Bago sumubok sa Docker, mahalagang linisin ang iyong system. Kung gumagamit ka ng bagong makina, siguraduhing mayroon ka ng pinagana ang sudo para maiwasan ang palaging pagtatrabaho bilang root, na isang masamang kasanayan sa seguridad. Inirerekomenda rin na i-update ang lahat ng mga pakete ng system gamit ang sudo apt update && sudo apt upgrade -y upang maiwasan mga salungatan sa pagiging tugma.

Hakbang-hakbang na pag-install ng Docker Engine sa Linux

Pag-install ng Docker

Para mai-install ang Docker sa pinaka-maaasahang paraan, pinakamahusay na gamitin ang opisyal na imbakanUna, i-install ang mga kinakailangang dependency tulad ng curl y ca-certificatesSusunod, kailangan mong idagdag ang Susi ng GPG ng DockerMahalaga ito para mapatunayan ng sistema na ang software na iyong dina-download ay tunay at hindi pinakialaman ng mga ikatlong partido.

Mag-deploy ng Docker container sa isang remote server
Kaugnay na artikulo:
Paano mag-deploy ng Docker container sa isang remote server

Kapag na-configure na ang repository, magpatuloy sa pag-install ng engine gamit ang sudo apt install docker-ce docker-ce-cli containerd.io. Huwag kalimutan paganahin ang serbisyo para awtomatikong magsimula ito kapag ginamit ng makina ang utos systemctl enable dockerKung ayaw mong magsulat sudo Sa bawat oras na magpapatakbo ka ng isang utos, maaari mong idagdag ang iyong user sa Docker groupTandaan na mag-log out at mag-log in muli para maipatupad ang pagbabago.

Para sa mga kailangang pamahalaan ang maraming serbisyo nang sabay-sabay (tulad ng Pi-hole o Nextcloud o Jellyfin), ang pag-install ng Plugin ng Docker Compose Ito ay sapilitan. Ang tool na ito ay nagbibigay-daan sa iyo upang I-deploy ang mga aplikasyon gamit ang Docker Compose Ang pagtukoy sa iyong buong imprastraktura sa isang YAML file ay ginagawang isang one-command na gawain ang pag-deploy ng maraming container: docker compose up -d.

Pagtitiyak sa seguridad ng iyong mga lalagyan

Seguridad sa Docker

Dito nagkakamali ang karamihan sa mga tao. Para magkaroon ng ligtas na kapaligiran, ang unang bagay ay bawasan ang pangunahing imaheSa halip na gumamit ng malalaking larawan, pumili ng mga bersyon slim o Mga distributor ng Alpinena lubhang nagbabawas sa saklaw ng pag-atake sa pamamagitan ng hindi pagsasama ng mga hindi kinakailangang software.

Seguridad ng lalagyan ng Docker
Kaugnay na artikulo:
Seguridad ng lalagyan ng Docker: isang praktikal at kumpletong gabay

Isang propesyonal na pamamaraan ay ang paggamit ng Mga Pagbuo na May Maraming YugtoBinubuo ito ng paggamit ng isang matatag na imahe upang i-compile ang code at pagkatapos ay kinokopya lamang ang nagresultang binary sa isang mas magaan na imahe para sa pagpapatupad, kasunod ng isang gabay sa pag-optimize ng mga imahe ng DockerHindi lamang ito nakakatipid ng espasyo, kundi inaalis ang mga build tool na maaaring samantalahin ng isang umaatake kung nagawa nilang makapasok sa container.

  Paano i-configure ang dynamic na IP sa Debian, Arch, Ubuntu, openSUSE at Fedora

Tungkol sa pamamahala ng access, huwag na huwag iimbak ang mga password o API key nang direkta sa Dockerfile. Gamitin Mga Lihim ng Docker o mga panlabas na kagamitan tulad ng HashiCorp Vault. Bukod pa rito, mahalaga na ang mga lalagyan ay tumatakbo gamit ang isang hindi gumagamit ng rootpaglikha ng isang partikular na user sa loob ng imahe upang limitahan ang mga pribilehiyo kung sakaling may panghihimasok.

Pag-optimize ng network at advanced na pagpapanatili

Kung plano mong mag-alok ng ilan sa iyong mga serbisyo sa ibang bansa, ang segmentasyon ng network Ito ang iyong pinakamahusay na kakampi. Huwag ilagay ang lahat sa default na network; lumikha ng mga custom na network gamit ang docker network create para ihiwalay ang mga container. Sa ganitong paraan, kung ang isang serbisyo ay makompromiso, ang attacker ay magkakaroon marami pang kahirapan upang gumalaw nang patagilid patungo sa iba pang mga lalagyan.

Pag-debug ng mga lalagyan ng Docker na nabigong magsimula ng mga serbisyo sa produksyon
Kaugnay na artikulo:
Kumpletong Gabay sa Pag-debug at Pamamahala ng mga Docker Container sa Produksyon

Para mapanatiling maayos ang pagtakbo ng server, maaari kang gumamit ng mga tool tulad ng Trivy o Snyk para mag-scan para sa mga kahinaan sa mga imahe. Lubos din na inirerekomenda na patakbuhin ang Docker Bench para sa Seguridad, isang script na sumusuri sa iyong configuration at nagsasabi sa iyo nang eksakto kung ano ang iyong mga kahinaan batay sa mga pinakamahusay na kasanayan sa industriya.

Panghuli, huwag pabayaan ang host. Gumamit ng mga firewall tulad ng UFW Para isara ang lahat ng hindi kinakailangang port, gumamit ng SSH key authentication sa halip na mga password. Ang paglimita sa mga mapagkukunan ng CPU at memory para sa bawat container ay maiiwasan ang mga prosesong hindi naaayon sa inaasahan o mga pag-atake ng DoS. Tanggalin ang buong server mo domestic

Ang pagiging dalubhasa sa virtualization gamit ang Docker ay nangangailangan ng paglipat mula sa pangunahing pag-install patungo sa isang palaging pag-iisip tungkol sa seguridad. Mula sa pagpili ng mga magaan na imahe at pag-deploy ng mga multi-stage build hanggang sa mahigpit na pagkontrol sa mga pribilehiyo ng network at user, pinoprotektahan ng bawat idinagdag na layer ang iyong imprastraktura. Ang pagpapanatiling updated ng system at pagsubaybay sa mga log ay nagbibigay-daan sa iyong pamahalaan ang iyong mga serbisyo nang may kapanatagan ng loob na ang iyong server ay matatag, mahusay, at nababanat laban sa mga potensyal na panlabas na banta.

Paano ipatupad ang mga microservice gamit ang Docker at Kubernetes
Kaugnay na artikulo:
Paano ipatupad ang mga microservice gamit ang Docker at Kubernetes