Með innleiðingu Windows Subsystem for Linux (WSL) gaf Microsoft forriturum tækifæri til að keyra GNU/Linux-umhverfi beint á Windows, óbreytt og án yfirbyggingar sýndarvélar. Þetta er frábær lausn því margir forritarar nota eitt stýrikerfi til forritunar og annað til afþreyingar.
WSL er enn í þróun, en það er nú hentugt fyrir nútímalegt hugbúnaðarþróun, bæði í fyrstu og annarri útgáfu. Þegar skoðað er í gegnum vandamálin og spurningarnar sem tilkynntar hafa verið á netinu, virðast flestar varða samþættingu WSL með Docker, sérstaklega þegar kemur að uppfærslu úr WSL 1 í WSL 2.
Þessi grein mun afmá allan vafa og hjálpa þér að komast í gegnum þennan feril án sársauka. Ef þú ert ekki með WSL 1 og vilt fá WSL 2 með Docker, getur þú farið beint í síðasta kafla.
Hvað munt þú hagnast?
– Nýjasti stöðugi Linux-kjarni (stilltur af Microsoft). WSL 1 hefur Linux-samhæft kjarna viðmót án Linux-kjarnans. kóði.
– Bætt skráar- og inntaks-/úttaksframmistaða. Að hámarki 20 sinnum hraðar samanborið við WSL 1 við að pakka upp þjappaðan tar-pakka, um 2–5 sinnum hraðar við notkun afrita git, npm install og cmake á ýmsum verkefnum.
– Fullkomin samrýmanleiki kerfisútkalls. Linux-binaríur nota kerfisútköll til að framkvæma mörg verkefni, svo sem að nálgast skrár, óska eftir minni, búa til ferla og margt fleira. Þó að WSL 1 hafi notað þýðingarlag sem WSL byggði upp lið, WSL 2 inniheldur sinn eigin Linux-kjarna með fullri samrýmanleika kerfiskalla.
– Skrár vistaðar í innfæddu ext4-skiptingu á sýndardiski.
– Mjög auðveld leið til að samþætta við Docker.
Ég tel að fyrir flesta notendur sé frammistaða skráaraðgerða og auðveld samþætting við Docker fullnægjandi ástæður.
Förum!
Ég geri ráð fyrir að þú hafir nýjustu stöðugu útgáfu af Windows 10 Pro. Eins og er í dag er það útgáfa 1909.
Vertu hluti af Windows-innherjum
Núna er WSL 2 aðeins fáanlegt fyrir Windows 10 í hæga hringnum fyrir innanhússnotendur. Svo langt sem ég veit ætti stöðug útgáfa að verða fáanleg í maí 2020 (útgáfa 20H1). Hægahringsrásin er nokkuð örugg lausn fyrir notendur sem vilja fá nýja eiginleika aðeins fyrr, en þeir hafa þegar verið forprófaðir af notendum hraðhringsrásarinnar. Hægahringsrásin fær kerfisuppfærslur einu sinni eða tvisvar í mánuði. Þú getur lesið um útgáfubreytingar fyrir innanhópinn í Microsoft-skjali sem kallast Flugmiðstöð.
Til að ganga til liðs, fylgdu einfaldlega opinberu Microsoft leiðarvísir. Það er mjög auðvelt og tekur um 15 mínútur án þess að missa neitt persónulegt gögn.
Uppfæra WSL 1 í WSL 2
Fylgdu opinbera leiðarvísir. Það er líka mjög einfalt: nokkrir skipanir í skel og þá ertu kominn af stað! Fer eftir því hversu umfangsmikið Linux-kerfið þitt undir WSL 1 var, gæti þetta tekið smá tíma. Því miður hefur Microsoft ekki bætt við framvindulínu né upplýsingum um tímann sem þarf, svo vertu bara þolinmóður.
Að hreinsa upp
Þetta er mikilvægasti hlutinn fyrir rétt samstarf milli WSL 2 og Docker. Eftir uppfærslu í WSL 2 reyna margir notendur að þvinga sína útgáfu af Docker til samvinnu án þess að gera sér grein fyrir því að Docker team, sérstaklega fyrir WSL 2, hefur undirbúið útgáfu sem mun sjá um allt fyrir okkur. Þetta er síðasta útgáfan af Docker Edge (beta-nafn þeirra) – “Docker Desktop WSL 2 backend”. Þessi útgáfa, 2.1.7.0, er vel fínpússuð og er umsækjandi fyrir komandi stöðuga útgáfu.
Notendur sem ekki höfðu WSL 1 eða nýlega sett upp nýja útgáfu af WSL 2 eru heppnir og geta strax farið beint í síðasta kafla.
Ef þú hefur ekki hreinsað Docker-ið þitt (alls ekki eða ekki rétt) og hefur ekki sett upp rétt útgáfu af Docker fyrir WSL 2, gætir þú rekist á nokkur algeng villur, t.d., Ekki hægt að tengjast Docker-þjóninum á tcp://localhost:2375“, “Er Docker-þjónninn í gangi?", o.s.frv. Í flestum tilfellum munt þú tapa tíma ef þú veist ekki að þú þarft að taka nýja nálgun til að reyna að leysa þessi villur. Til þess að gera það þarftu fyrst að fjarlægja Docker algjörlega úr WSL og Windows, sem er ekki augljóst skref.
Algengasta dæmið um ósnertar leifar er hin gamla Docker-aðferð til að stilla umhverfisbreytuna. DOCKER_HOST=tcp://localhost:2375 undir WSL 1 fyrir samvinnu við Windows Docker-valkostinn Birta daemon á tcp://localhost:2375 án TLS.
Hvernig á að fjarlægja Docker algjörlega úr WSL (Ubuntu)?
- Sem opinberi Docker skjöl segja:
sudo apt-get remove docker docker-engine docker.io containerd runc
Vissulega geturðu bætt við þennan lista. docker-ce og docker-ce-cli.
- Finndu öll Docker-pakkana sem þú átt með
dpkg -l | grep -i docker og fjarlægja ef einhverjir eru enn til.
- Fjarlægið öll leifar:
sudo rm -rf /var/lib/docker /etc/docker /etc/apparmor.d/docker /var/run/docker.sock /usr/local/bin/docker-compose /etc/docker
sudo groupdel docker ~/.docker
- Þetta skref er ætlað háþróuðum notendum, svo vertu varkár. Þú þarft líklega ekki að gera það.
Finndu allt dökker Orðatilviksir og fjarlægðu þá sem þú ert viss um.
sudo find / -name “*docker*”
- Skoðaðu innihald allra skráa hér að neðan fyrir
dökker Tilvik eins og t.d. umhverfisbreyta DOCKER_HOST=tcp://localhost:2375.
Þú getur breytt þessum skrám með Nano-ritlinum, nano ~/.bashrc, eða Visual Studio Code, kóði ~/.bashrc.
~/.bashrc
~/.bash_aliases
~/.bash_profile
~/.bash_login
~/.profile
/etc/bash.bashrc
/etc/profile
Hvernig á að fjarlægja Docker algjörlega úr Windows?
- Afsetja á venjulegan hátt í Windows.
Forrit og eiginleikar panel.
- Fjarlægið allt hér að neðan ef það er til:
C:Program FilesDocker
C:ProgramDataDockerDesktop
C:Users[USERNAME].docker
C:Users[USERNAME]AppDataLocalDocker
C:Users[USERNAME]AppDataRoamingDocker
C:Users[USERNAME]AppDataRoamingDocker Desktop
Hvað er næst?
Settu upp nýjustu útgáfu af Docker Desktop Edge frá hér og fylgja skrefunum frá opinbera aðilann skjöl. Það snýst í raun um nokkra smelli.
Ef allt gengur vel ættir þú að fá úttakið þitt frá wsl -l -v svona:
NAFN STAÐSETNING ÚTGÁFA
Ubuntu-18.04 Keyrandi 2
docker-desktop Keyrandi 2
docker-desktop-data Keyrandi 2
Þetta er allt. Docker hefur búið til sínar eigin WSL-íláti. docker-desktop og gögn fyrir docker-desktop. Sumar af tiltækum kennsluleiðbeiningum eða ráðum geta verið ruglingslegar vegna þess að að þessu sinni Þú ættir ekki að setja upp eða stilla neitt sem tengist Docker undir WSL Linux-dreifingu þinni.. Það er mjög mikilvægt að muna. Eftir hreinsun ætti það að virka vel strax.
Auk þess..
Að setja upp WSL 2 með Docker getur verið sársaukalaust ferli með nokkrum einföldum skrefum. Byrjaðu á að uppfæra pakkalistar með því að nota skipunina “sudo apt-get update” til að tryggja að þú hafir nýjustu útgáfuupplýsingarnar. Leysa allar vantar háð tenglum með “sudo apt-get install -y build-essential” til að tryggja hnökralausa uppsetningu. Settu upp Docker-vél með “sudo apt-get install -y docker-vél”til að byggja, keyra og stjórna gámum áreynslulaust. Keyrið “sudo docker run” ásamt nafninu á myndinni til að ræsa gáma. Til að halda umhverfinu fínstilltu keyrið reglulega “sudo docker system prune” til að fjarlægja ónotaða gáma og losa diskapláss. Með þessum skrefum geturðu notið hnökralausrar samþættingar WSL 2 og Docker fyrir skilvirka gámavæðingu í þróunarferli þínu.