Kuinka siirtää Docker-tilavuuksia turvallisesti suuremmalle osiolle

Kuinka siirtää Docker-tilavuuksia turvallisesti suuremmalle osiolle
Indeksi
  1. Miksi siirtää Docker-tilavolyymejä toiseen osioon
  2. Etsi Docker-tilavolyymihakemisto
  3. Siirrä koko Docker-datakanta
  4. Siirrä kaikki Docker-data Docker Desktopilla (GUI-menetelmä)
  5. Siirto vain spesifistä volyymi-dataa
  6. Yhteenveto

Tässä oppaassa opit siirtämään Docker-tilavolyymejä toiseen osioon, vapauttaen tilaa juuriosiossasi ja parantaen palvelimesi suorituskykyä tehokkaasti.

Oletusarvoisesti Docker tallentaa kaiken “/var/lib/docker” -hakemistoon, joka sijaitsee juuriosiossa (/). Kun konttisi kasvavat, tämä hakemisto voi täyttyä nopeasti. Jos huomaat, että palvelimesi toimii hitaasti, et voi tallentaa dataa tai se kaatuu satunnaisesti, syy voi olla se, että juuriosio on täynnä. Tässä oppaassa käymme läpi menetelmät, joilla voit siirtää Docker-tilavolyymin (tai datan) toiseen osioon ja vapauttaa tilaa juuriosiossa.

Miksi siirtää Docker-tilavolyymejä toiseen osioon

Docker-kontit tuottavat usein suuria määriä pysyvää dataa. Ajan myötä tämä data voi kuluttaa juuriosion tallennustilaa. Docker-tilavolyymien siirtäminen toiseen osioon auttaa sinua:

  • vapauttamaan tilaa juurijärjestelmästä
  • estämään järjestelmän kaatumisia levytilan loppumisen vuoksi
  • tallentamaan suuria sovellustietoja omalle tallennukselle
  • parantamaan yleistä tallennushallintaa

Esimerkiksi tietokantakontit, kuten MySQL tai PostgreSQL, voivat tallentaa gigatavuja dataa volyymeihin. Siirtämällä nämä volyymit suuremmalle omalle osiolle voidaan pitää järjestelmän vakaus yllä.

Etsi Docker-tilavolyymihakemisto

Ennen Docker-tilavolyymien siirtämistä meidän täytyy ensin selvittää, minne Docker tallentaa ne järjestelmääsi. Suorita seuraava komento luettelon saamiseksi kaikista käytettävissä olevista Docker-tilavolyymistä:

docker volume ls

Kun olet tunnistanut volyymin nimen, suorita alla oleva komento tarkistaaksesi kyseisen volyymin tiedot:

docker volume inspect volume_name

Tämä komento näyttää yksityiskohtaiset tiedot volyymistä. Tulosteessa etsi Mountpoint-kenttä. Se näyttää tarkan hakemiston, johon Docker tallentaa volyymin datan.

Siirrä koko Docker-datakanta

Yksi tapa siirtää Docker-data toiseen osioon on siirtää koko Docker-tallennushakemisto, joka sisältää volyymit, kuvat, kontit ja lokit. Tämä on puhtain ja turvallisin menetelmä, jos “/var/lib/docker” on täyttymässä.

Aloita pysäyttämällä Docker-palvelu varmistaaksesi, ettei tiedostoja muuteta siirron aikana:

sudo systemctl stop docker

Tämän jälkeen voit kopioida Docker-datan käyttäen rsync-komentoa:

sudo rsync -avxP /var/lib/docker/ /path/to/new/partition/docker-data/

Huom: Muuta “/path/to/new/partition/” uuden osion poluksi, johon haluat siirtää hakemiston.

Tämä komento kopioi Docker-hakemiston samalla, kun se säilyttää käyttöoikeudet ja näyttää edistystä siirron aikana.

Vaihtoehtoisesti voit käyttää seuraavaa komentoa, joka säilyttää lisä-Docker-ominaisuuksia, kuten kovia linkkejä, ACL:t ja laajennettuja attribuutteja:

sudo rsync -aHAX --info=progress2 /var/lib/docker/ /mnt/docker-data/

Tätä versiota suositellaan Docker-datan siirtämisessä, koska se säilyttää enemmän tiedostojärjestelmätietoja ja tarjoaa selvemmän edistyksenäytön.

Tämän jälkeen nimeä vanha datarakennus uudelleen varmuuskopiota varten ennen sen poistamista.

sudo mv /var/lib/docker /var/lib/docker.old

Nyt päivitä Dockerin kokoonpano avaamalla daemon-tiedosto tälle komennolle:

sudo nano /etc/docker/daemon.json

Lisää seuraava sisältö tähän tiedostoon:

{
"data-root": "/path/to/new/partition/docker-data"
}

Viimeiseksi, käynnistä Docker uudelleen komennolla sudo systemctl start docker. Tämän jälkeen voit vahvistaa uuden Docker-datakansion seuraavalla komennolla:

docker info | grep "Docker Root Dir"

Jos kaikki on kunnossa, poista vanha varmuuskopio:

sudo rm -rf /var/lib/docker.old

Siirrä kaikki Docker-data Docker Desktopilla (GUI-menetelmä)

Docker Desktopin avulla voit siirtää kaiken Docker-datan toiseen osioon muuttamalla levykuvan sijaintia. Tämä vaihtoehto...

Siirtää kaiken, mitä Docker on tallentanut, mukaan lukien kuvat, säiliöt, volyymit ja rakennusvälimuisti, uuteen sijaintiin järjestelmässäsi.

Tehdäksesi tämän, avaa Docker Desktop ja siirry Asetukset-kohtaan, mene Resurssit → Lisäasetukset, ja etsi Levykuvan sijainti -vaihtoehto.

Napsauta Selaa ja valitse kansio uudelta osiolta tai levyltä, johon haluat Dockerin tallentavan tietonsa, kuten “/mnt/newdisk/docker-data”. Kun olet valinnut uuden sijainnin, napsauta Vahvista ja Käynnistä uudelleen. Docker Desktop käynnistyy uudelleen ja siirtää kaikki olemassa olevat Docker-tiedot valittuun osioon.

Huom: Tämä siirtää kaikki Docker-tiedot. Tällä hetkellä ei ole graafista käyttöliittymää yksittäisten volyymien siirtämiseen.

Siirto vain spesifistä volyymi-dataa

Voit siirtää tietyn Docker-volyymin toiseen osioon ja käyttää sitä säiliössäsi isäntäbindinä. Tämä lähestymistapa on yksinkertainen, turvallinen ja helppo varmuuskopioida. Ennen volyymin siirtämistä, pysäytä se säiliö, joka käyttää sitä:

docker stop container_name

Tämän jälkeen käytä rsync siirtääksesi kaikki tiedot turvallisesti uuteen hakemistoosi:

sudo rsync -a /var/lib/docker/volumes/my_volume/_data/ /data/docker/my_volume/

Tämä kopioi kaiken vanhasta volyymista “/data/docker/my_volume” -sijaintiin.

Muokkaa “docker-compose.yml” -tiedostoasi käyttämään bind mountia sen sijaan, että käyttäisit Dockerin hallitsemaa volyymiä:

services:
 my_service:
 volumes:
 - /data/docker/my_volume:/container/path

Korvaa /container/path polulla säiliössä, johon volyymi alun perin oli liitetty. Käynnistä säiliö sitten uudelleen seuraavalla komennolla:

docker-compose up -d

Yhteenveto

Docker-volyymien tai koko Docker-tietohakemiston siirtäminen suurempaan osioon vapauttaa tilaa juurijärjestelmälläsi ja pitää palvelimesi vakaana. Säiliöt jatkuvat sujuvasti ilman tietojen menettämisen riskiä, ja tuleva tallennushallinta on paljon helpompaa.

Jos koko Docker-hakemiston siirtäminen ei ole mahdollista, voit silti vapauttaa tilaa muilla menetelmillä. Näihin kuuluu käyttämättömien säiliöiden, kuvien, verkkojen ja välimuistien poistaminen komennolla docker system prune tai yksittäisillä prune-komentoilla sekä Linux-bind mountien käyttö suurten hakemistojen siirtämiseen vaikuttamatta Dockerin suoritukseen.

Nyt kun olet lukenut Kuinka siirtää Docker-tilavuuksia turvallisesti suuremmalle osiolle loppuun, kutsumme sinut tutustumaan lisää Oppaat-kategoriaan. Löydät sieltä muita mielenkiintoisia artikkeleita, jotka laajentavat tietojasi ja pitävät sinut ajan tasalla. Älä lopeta lukemista ja löytämistä!

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *

Go up