Ohjelmointi

Mitä sinun tarvitsee tietää Dockerista Windowsissa

Vietin viime viikon lopun Monki Grasissa, Lontoon kehittäjien konferenssissa, joka keskittyi ohjelmistokehitykseen. Se on kiehtova tapahtuma, ja tänä vuonna keskityttiin ohjelmistojen pakkaamiseen.

Ei ole yllättävää, että monet puhujat puhuivat konttien roolista devopsissa ja jatkuvassa toimituksessa. Mutta Windowsin väärinkäsitys säiliöistä oli yleisesti väärinkäsitys, jota yleensä luonnehdittiin Dockerin tueksi Linux-virtuaalikoneissa.

Se ei ole totta: Windowsilla on omat konttiteknologiansa, jotka perustuvat Dockeriin, mutta antavat sille ainutlaatuisen Microsoft-pyöräytyksen. Se on todennäköisesti sekaannusten lähde, kun Windows 10 lisäsi tuen Linux-alijärjestelmälle ja Microsoft lisäsi Docker-työkalut Windows Server 2016: een samaan aikaan. Molemmat ovat osa Microsoftin lähestymistapaa pilvikohtaisten sovellusten kehittämiseen, mikä on keskeinen osa sen Azure-alustaa jatkossa.

Microsoftin sitoutuminen kontteihin, yksi viime vuosien tärkeimmistä toimialakohtaisista kehityksistä, ei pitäisi olla yllättävää. Ehkä parhaiten ajatellaan tapana kapseloida koko käyttäjäprosessi- ja nimitila-alue eristääkseen sen muista samalla palvelimella käynnissä olevista instansseista. Säilöistä on nopeasti tullut keskeinen komponentti devopsissa ja jatkuvan integraation toteutuksissa. Microsoft on ottanut nopeasti käyttöön nämä lähestymistavat sisäisesti, ja kuten aina, sen työkalut heijastavat sitä, kuinka Redmond käyttää ohjelmistoja ja kuinka se rakentaa sovelluksia.

Konttien ymmärtäminen

Erottamalla sovelluksen käyttämät palvelut käyttöjärjestelmän tarpeista, nykyaikaisista säiliöistä on tullut tehokas työkalu sovellusten pakkaamiseen ja käyttöönottoon palvelimille. Säiliöt tarjoavat siirrettävyyden kehitys-, paikan päällä sijaitsevien datakeskusten sekä yksityisten, hybridi- ja julkisten pilvien välillä. Säilöön käärityt sovellukset ovat riippumattomia pääkäyttöjärjestelmästä, ja ne voivat toimia millä tahansa vastaavalla säilöisännällä ilman muutoksia.

Sovelluksen kääriminen säilöön tarkoittaa, että sovellus on helppo ottaa käyttöön kaikkien asianmukaisten määritystiedostojen ja riippuvuuksien rinnalla: Jos säilö toimii kehityskoneella tai läpäisee kaikki integraatiotestit, se toimii palvelimella ilman muutoksia. Voit vaihtaa säilön uudelle versiolle vaikuttamatta taustalla olevaan käyttöjärjestelmään, ja voit siirtää säilön palvelimelta palvelimelle vaikuttamatta koodiin. Se on devops-mallin looginen päätepiste, jonka avulla voit ottaa infrastruktuurin ja sovellukset käyttöön erikseen - ja hallita niitä erikseen.

Alun perin keskusyksikkötekniikkaa, säiliöitä (tai ainakin vastaavia nimiavaruuden ja prosessin eristämisen muotoja) voitiin löytää monista Unix-käyttöjärjestelmistä, mukaan lukien Linux ja Solaris.

Windows-astioiden sisällä

Windows Server 2016: n julkaisemisen myötä Windowsilla on oma konttiteknologia. Se perustuu suosittuun avoimen lähdekoodin Docker-konttipalveluun, mutta se lisää tukea PowerShell-komentorivin käyttämiseen ja lisäeristykseen ohuisiin konttipohjaisiin Nano-palvelimiin ja Hyper-V-kontteihin.

Docker on edelleen Microsoftin konttistrategian ydin. Sen työkaluja, kuten Swarm ja Machine, käytetään laajasti, ja Data Center -tuote pystyy hallitsemaan sekä Windows- että Linux-kontteja. Voit jopa käyttää Dockerin asiakasta Windows 10: n Bash-kuoresta asentamalla sen Windows-alijärjestelmään Linuxille. Tämä lähestymistapa vaatii jongleeraamaan varmenteita, joten voit mieluummin käyttää Dockerin Windows-sovellusta kehitys- ja perushallintatyökaluna sekä Windows- että Linux-säilöille.

Windows-säilöt ovat, kuten monet Windows Server -ominaisuudet, rooli, joka voidaan asentaa joko tutun Windowsin ominaisuuksien valintaikkunan tai PowerShellin kautta. PowerShell-reitin käyttäminen on järkevintä, koska siellä on OneGet PowerShell -moduuli, joka asentaa sekä Windows-konttiominaisuuden että Dockerin, ja vain yksi uudelleenkäynnistys tarvitaan aloittamiseen. (Sinun on myös otettava käyttöön Hyper-V-virtualisointi, jos haluat käyttää Hyper-V-säilöjä.)

Sekä kehittäjät että ops-tiimit ovat yllättävän paljon innostuneita Windows-säilöistä; Microsoft on ilmoittanut yli miljoonasta Windows-peruskuvan lataamisesta Docker's Hub -säiliökirjastosta sen jälkeen, kun Windows Server 2016 tuli yleisesti saataville.

Konttien rakentaminen ja käyttöönotto Windowsissa

Kontit eivät ole vain palvelintyökalu; Windows 10 Anniversary Editionin Professional- ja Enterprise-versiot tukevat myös säilöjä. Sinun on otettava ne käyttöön Windowsin ominaisuudet -valintaikkunassa, mutta kun ne on otettu käyttöön, voit asentaa ja hallita Windows-säilöjä kehitystietokoneelle PowerShellin avulla. Koska Windows 10 tukee vain Hyper-V-kontteja, sinun on asennettava myös Hyper-V.

Kun Windows-säilöt on otettu käyttöön, sinun on ladattava ja asennettava Docker Engine ja Docker -asiakasohjelma sekä asennettava peruskuvat, jotka sinun on määritettävä sovelluksellesi.

Microsoftin ehdottama peruskuva uusille Windows-säilöille on Nano Server, sen matalan jalanjäljen pilvipainotteinen palvelintoteutus. Nano-palvelimella on paljon järkeä konttiperustana: Se on pieni ja nopea, ilman käyttöliittymää, joten se on nopea ottaa käyttöön ja suhteellisen turvallinen.

Yksi tärkeä huomautus: Vaikka voit käyttää sitä Node.js: n kaltaisten ajonaikojen isännöimiseen, Nano Server on tarkoitettu isännöimään .Net Core -sovelluksia, mukaan lukien ASP.Net Core, joten et saa kaikkia tottuneita .Net-ominaisuuksia. . Siellä on tarpeeksi eroa tutusta Windows Serveristä, että on ehkä parasta ajatella Nano Serverin isännöimiä Windows-säilöjä uusien sovellusten työkaluna eikä olemassa olevan koodin isäntänä.

Nämä erot selittävät, miksi monet yritykset käyttävät Windows Server Coreia peruskuvana. Vaikka se on isompi ja kestää kauemmin kuin Nano Server, Windows Server Core tarjoaa tuen nykyisille Windows SDK: lle ja täydellisen .Net-toteutuksen. Olemassa olevan koodin siirtäminen Server Core -palvelimeen on paljon helpompaa, mikä antaa sinulle mahdollisuuden, kuten Lead Server Manager for Windows Server ja Hyper-V Containers Taylor Brown kutsuu, "nosta ja siirrä" olemassa olevista palvelimista säilöihin, joten he " uudelleen käyttöön missä haluat. Kun sovellus on säilössä, kehittäjät voivat hajottaa sen edelleen; esimerkiksi API-liittimien siirtäminen omiin Nano Server -pohjaisiin säilöihin sovellusten ylläpidon yksinkertaistamiseksi.

Konttitukea rakennetaan Windows-työkaluihin alimmalla tasolla, ja Windows-säilöt ovat nyt Visual Studio 2017: n käyttöönottotavoite. Voit rakentaa ja toimittaa sovelluksia säilönä, valmiina testaukseen. Säiliöiden tekeminen yksinkertaisen hiiren napsautuksen päässä on tärkeä askel.

Kun Windows Azure tukee pian sisäkkäisiä virtualisointeja, kyky lisätä eristämistä julkiseen pilviin auttaa säänneltyjä teollisuudenaloja perustelemaan siirtymisen sekä säilöihin että pilveen.

$config[zx-auto] not found$config[zx-overlay] not found