- Korištenje WSL2 arhitekture za upravljanje pohranom Linux kontejnera u Windows okruženjima.
- Različite metode ekstrakcije i manipulacije podacima, od grafičkog sučelja Docker Desktopa do UNC putanja.
- Implementacija Bind Mountova za sinkronizaciju lokalnih mapa s datotečnim sustavom kontejnera u stvarnom vremenu.
Jeste li se upustili u postavljanje razvojnih okruženja s Docker na WindowsimaAko je tako, vjerojatno ste primijetili da ovi spremnici funkcioniraju poput crnih kutija. U ovom postu ćemo vam reći više. Kako pristupiti datotekama u Docker kontejneru iz WindowsaDa razjasnimo veliko pitanje kako ući unutra, a da ništa ne slomimo.
Malo je nezgodno jer, iako vidimo aplikaciju na ekranu, većina Linux kontejnera radi na virtualnom sloju. Ovisno o tome koristite li WSL 2 ili stari Hyper-VNačin pristupa podacima drastično će se promijeniti, pa pogledajmo kako savladati ovaj proces kako ne biste poludjeli tražeći skrivene rute.
Istraživanje volumena putem grafičkog sučelja
Koji je najlakši način za pristup datotekama u Docker kontejneru iz Windowsa? Za one koji se ne žele baviti terminalom, Docker radna površina Nudi prilično intuitivno rješenje. Ako odete na odjeljak o Volumeni unutar kartice SpremniciVidjet ćete da možete upravljati prostorom za pohranu dodijeljenim svakom projektu. Ovaj alat idealan je za brzo izvođenje operacija čitanja i pisanja ili čak izvoz podataka bez pisanja ijedne linije koda.
Trik s UNC i WSL2 rutama
Kada koristimo pozadinski dio WSL2 (Windows podsustav za Linux)Datoteke se ne nalaze na C: disku na konvencionalan način, već u laganom virtualnom stroju. U tom slučaju, za pristup datotekama Docker kontejnera iz Windowsa, možemo koristiti UNC mrežne ruteAko upišete u adresnu traku \\wsl.localhost\docker-desktop-disk\data\docker\volumesMoći ćete izravno pristupiti mapi s podacima volumena koji vam je potreban.
Ponekad, ovisno o konfiguraciji, ruta može malo varirati. \\wsl$\docker-desktop\data\docker\volumesTo je vrlo zgodan način da upravljajte datotekama kao da su u normalnoj mapi sustava Windows, što vam omogućuje kopiranje i lijepljenje stavki mišem.
Napredno upravljanje putem sučelja naredbenog retka (CLI)
Ako preferirate tipkovnicu, komandna linija vam je najbolji prijatelj za pristup datotekama u Docker kontejneru iz Windowsa. Da biste točno saznali gdje se volumen nalazi na internom Linux sustavu, možete pokrenuti naredbu docker volume inspect Ovo će vam vratiti Točna točka montiranjašto je obično nešto poput /var/lib/docker/volumes/…
Kada trebate premjestiti datoteke između računala i spremnika, naredba docker cp To je najkraći put. Na primjer, ako želite napraviti lokalnu sigurnosnu kopiju interne mape, koristili biste docker cp nombre_contenedor:/ruta/interna ./destino_localSlično tome, možete ubrizgavanje konfiguracijskih datoteka s vašeg stroja u kontejner obrnutim redoslijedom parametara.
A ako trebate pokrenuti naredbe izravno unutar operativnog sustava kontejnera, ne zaboravite naredbu docker exec -it bashOvo otvara interaktivni terminal unutar kontejnera, što vam omogućuje navigaciju kroz interne rute kao da ste se putem SSH-a povezali s udaljenim poslužiteljem.
Sinkronizacija pomoću Bind Mountova
Kako biste izbjegli ručno kopiranje datoteka, najbolja strategija za pristup datotekama u Docker kontejneru iz sustava Windows je Bind Mount. U osnovi, to uključuje naređivanje Dockeru da poveže mapu na vašem Windows računalu i mapu unutar kontejnera. Oni su potpuno istiU datoteci docker-compose.yml to se postiže definiranjem odjeljka volumes mapiranjem relativne putanje, kao što je ./mi_carpeta:/app/data.
Ova tehnika je poželjnija za aktivni razvoj, budući da će se sve promjene koje napravite u Visual Studiju ili bilo kojem uređivaču teksta na Windowsima odraziti u aktivnoj verziji. To će se odmah odraziti unutar kontejnera bez potrebe za ponovnim pokretanjem usluge ili ponovnom izgradnjom slike.
Rješavanje uobičajenih problema u sustavu Windows
Ponekad se pri radu s Visual Studio Container Toolsima često susreće greška da Dijeljenje volumena nije omogućenoU starijim verzijama koje koriste Hyper-V, morate otići u postavke Dockera, zatim u Resurse i posebno odabrati mape na disku koje želite dijeliti. Međutim, ako već koristite WSL 2, ova se opcija neće pojaviti jer više nije potrebna.
Još jedan problem koji se ponavlja je upravljanje dozvolama. Ako ustanovite da ne možete izvršiti određene radnje, provjerite pripada li vaš korisnički račun odgovarajućoj grupi dozvola. grupa korisnika DockeraMožete se dodati iz Upravljanja računalom u odjeljku Lokalni korisnici i grupe ili pomoću naredbe net localgroup docker-users /add izvršen kao administrator.
Što se tiče pohrane, imajte na umu da Docker prema zadanim postavkama sprema slike u %ProgramData%/DockerAko vam ponestaje prostora na C: disku, možete promijenite lokaciju Docker Enginea Uređivanje svojstva "graph" u datoteci daemon.json za premještanje podataka na veći sekundarni pogon.
Za one koji imaju problema s putanjom prilikom miješanja Windows i Linux kontejnera, ključno je provjeriti varijable okruženja. Ako koristite Windows kontejnere, provjerite jeste li onemogućite varijable koje forsiraju WSL ruteTo je zato što često uzrokuje greške ulazno/izlaznih (I/O) operacija, što može biti vrlo frustrirajuće pri pokušaju pristupa datotekama.
Kao što vidite, pristup datotekama Docker kontejnera iz Windowsa i potpuna kontrola nad podacima vašeg kontejnera znači znati kako prebacivati između praktičnosti grafičkog sučelja Docker Desktopa, snage CLI-ja i učinkovitosti Bind Mountova. Bilo da pregledavate WSL2 UNC putanje za brzi pristup ili konfigurirate trajne volumene za razvoj, Ključ leži u razumijevanju gdje se informacije fizički nalaze. odabrati najprikladniji alat za pristup za svaku situaciju.
Indeks
Urednik specijaliziran za pitanja tehnologije i interneta s više od deset godina iskustva u različitim digitalnim medijima. Radio sam kao urednik i kreator sadržaja za tvrtke koje se bave e-trgovinom, komunikacijom, internetskim marketingom i oglašavanjem. Pisao sam i na web stranicama o ekonomiji, financijama i drugim sektorima. Moj posao je također moja strast. Sada, kroz moje članke u Tecnobits, nastojim istražiti sve novosti i nove mogućnosti koje nam svijet tehnologije svakodnevno nudi za poboljšanje života.
