2018. május 6., vasárnap

Házautomatizálás - Docker építés

Elkezdtem a Docker infrastruktúra felépítését a Hyper-V szervereimen a házautomatizálás (és más) rendszereimhez.
A komfort zónám, ha linuxról beszélünk elsősorban az Ubuntura és a Debianra terjed ki. Különböző forrásokból azt hallottam, hogy Alpine linux-ok kéne a Docker-hez használni. Tulajdonképpen már belefutottam néhány előregyártott Docker image-be amik Alpine-on alapulnak a munkám során. Szóval úgy döntöttem, hogy az új rendszert Alpine-ra építem, ez jó lehetőség a tanulásra.
Első:
Letöltöttem a virtualizált gépnek optimalizált telepítőt, gyártottam egy Gen2-es Hyper-V gépet és elindítottam.
Igen, virtualizációra optimalizált, csak épp nem a Hyper-V-re. El se indult.
Második:
Letöltöttem a standard telepítőt. Ez végre elindult a Hyper-V-ben így felraktam egy vhdx-re.
Miután általában másolom az alap vhdx-et, az újabb virtuális gépek előállításához, az Alpine itt kap egy plusz pontot tőlem, miután nem kell a boot folyamatot patkolni ehhez mint az Ubuntunál.
Felraktam a nano-t, miután pár konfig fájlt szerkesztenem kell a kész gépeken, és szétmásoltam a vhdx fájlokat, elkezdtem gépeket gyártani belőlük.
Harmadik:
Beállítottam az IP címet, a gép nevét, a DNS-t, átjárót, stb. Csak a szokásos dolgokat.
Újraindítás után nem indult el mégegyszer. Az ok a chronyd. Miután nem tudta az internetről az időt begyűjteni, megállította a boot folyamatot. Örökre. Se konzol, se SSH.
Ok, kinyírtam a gépet, újragyártottam az alap vhdx-ből. Körültéztem, nem találtam semmi megoldást. Végül megnéztem a chrony csomag tartalmát és kiderült, hogy a timeout opciót a /etc/conf.d/chronyd fájlban tudom beállítani. Az ARGS opcióba beírtam: -t 60
Negyedik:
Átkonfiguráltam az SSH-t, hogy nekem megfeleljen, hozzáadtam azt a repo-t ami a Docker telepítéséhez szükséges extra csomagokat tartalmazza.
Felraktam az összes x64-es gépen a Dockert, beállítottam, hogy boot-nál induljon el.
Ötödik:
Elindítva a Docker-t ezt kapom:


Jónéhány próbálkozással sem sikerült ezt a dolgot rendbeszedni, de közben találtam cikkeket arról, hogy az Alpine nem alkalmas a feladatra:
http://janhapke.com/blog/alpine-linux-sucks-for-hosting-docker-containers/
http://www.nathanbak.com/?p=37

Döntöttem. Elfelejtem ezt és megyek vissza az Ubuntura. A következő próbálkozásom a vadiúj Ubuntu 18.04 LTS-el lesz.

2 megjegyzés:

  1. Az Alpine linnuxot dockerben valo futashoz ajaljak, nem pedig a host rendszerbek. CoreOS van containerek futattasra kihegyezve.

    VálaszTörlés
    Válaszok
    1. Lehet, hogy kipróbálom. Alapvetően nekiugrottam az Ubuntunak, de változtattak dolgokat és egyenlőre még a nem létező hajam tépem.

      Törlés