Soitheach docker airson a bhith a’ riaghladh luchd-frithealaidh HP tro ILO

Is dòcha gu bheil thu a’ faighneachd - carson a tha Docker ann an seo? Dè an duilgheadas a th’ ann le bhith a’ logadh a-steach do eadar-aghaidh lìn ILO agus a’ stèidheachadh do fhrithealaiche mar a dh’ fheumar?
Sin a bha mi a’ smaoineachadh nuair a thug iad dhomh seann fhrithealaiche neo-riatanach a dh’ fheumadh mi ath-shuidheachadh (rud ris an canar ath-sholarachadh). Tha am frithealaiche fhèin suidhichte thall thairis, is e an aon rud a tha ri fhaighinn an eadar-aghaidh lìn. Uill, a rèir sin, bha agam ri dhol chun Virtual Console gus cuid de òrdughan a ruith. Sin far an do thòisich e.
Mar a tha fios agad, mar as trice bidh Java air a chleachdadh airson diofar sheòrsaichean consoles mas-fhìor, ge bith an ann ann an HP no Dell. Co-dhiù sin mar a bha e (agus tha na siostaman gu math sean). Ach sguir Firefox agus Chrome a bhith a’ toirt taic dha na h-applets sin o chionn fhada, agus chan eil an IcedTea ùr ag obair leis na siostaman sin. Mar sin, nochd grunn roghainnean:

1. Tòisich a 'togail sùgh bho bhrobhsairean agus tionndaidhean Java air an inneal agad, cha robh feum air an roghainn seo tuilleadh. Chan eil miann sam bith a bhith a 'magadh air an t-siostam air sgàth òrdugh no dhà.
2. Cuir air bhog rudeigin gu math sean air an inneal mas-fhìor (thàinig e a-mach gu deuchainneach gu bheil feum agad air Java 6) agus rèitich a h-uile dad a dh’ fheumas tu troimhe.
3. An aon rud ri puing 2, dìreach ann an soitheach, leis gun do choinnich grunn cho-obraichean ris an aon dhuilgheadas agus tha e mòran nas fhasa ceangal a ghluasad gu soitheach air Dockerhub na ìomhaigh inneal brìgheil, leis na faclan-faire uile, msaa.
(Gu dearbh, cha d’ fhuair mi ach puing 3 às deidh dhomh puing 2 a dhèanamh)
Nì sinn puing 3 an-diugh.

Bha mi air mo bhrosnachadh sa mhòr-chuid le dà phròiseact:
1. docker-baseimage-gui
2. docker-firefox-java
Gu bunaiteach, a 'chiad phròiseact docker-baseimage-gui tha goireasan agus rèiteachadh ann mu thràth airson a bhith a’ ruith thagraidhean deasg ann an Docker. Mar as trice feumaidh tu caochladairean àbhaisteach a mhìneachadh agus bidh an tagradh agad ruigsinneach tro bhrobhsair (websocket) no VNC. Anns a 'chùis againn, cuiridh sinn air bhog tro Firefox agus VNC; cha do dh'obraich e tro websocket.
An toiseach, stàlaich sinn na pacaidean riatanach - Java 6 agus IcedTea:

RUN echo "deb http://archive.ubuntu.com/ubuntu precise main universe" > /etc/apt/sources.list &&
apt-get update &&
apt-get -y upgrade &&
apt-get -y install firefox
nano curl
icedtea-6-plugin
icedtea-netx
openjdk-6-jre
openjdk-6-jre-headless
tzdata-java

A-nis chan eil agad ach a dhol gu duilleag eadar-aghaidh ILO agus cuir a-steach d’ ainm-cleachdaidh agus facal-faire. Cuir air bhog Firefox ann an autostart:

RUN bash -c 'echo "exec openbox-session &" >> ~/.xinitrc' &&
bash -c 'echo "firefox ${HILO_HOST}">> ~/.xinitrc' &&
bash -c 'chmod 755 ~/.xinitrc'

Ann an caochladair àrainneachd HILO_HOST tha seòladh lìn an eadar-aghaidh ILO againn, mar eisimpleir myhp.example.com
Gus an logadh a-steach gu fèin-ghluasadach, leig dhuinn cead a chuir ris. Bidh logadh a-steach gu ILO a’ tachairt le iarrtas POST cunbhalach, agus mar thoradh air an sin gheibh thu JSON session_key, a bheir thu seachad an uairsin a-steach iarrtas GET:
Feuch an obraich sinn a-mach session_key tro curl ma tha na caochladairean àrainneachd HILO_USER agus HILO_PASS air am mìneachadh:

export HOME=/config
export HILO_HOST=${HILO_HOST%%/}
SESSION_KEY=""
data="{"method":"login","user_login":"${HILO_USER}","password":"${HILO_PASS}"}"
if [[ -n "${HILO_USER}" && -n "${HILO_PASS}" ]]; then
    SESSION_KEY=$(curl -k -X POST "${HILO_HOST}/json/login_session" -d "$data" 2>/dev/null | grep -Eo '"session_key":"[^"]+' | sed 's/"session_key":"//')
fi
echo "SESSION_KEY=$SESSION_KEY"
echo $SESSION_KEY > /session_key

Aon uair ‘s gu bheil sinn air an seisean_key a chlàradh ann an docker, is urrainn dhuinn VNC a chuir air bhog:

exec x11vnc -forever -create

A-nis bidh sinn dìreach a’ ceangal tro VNC gu port 5900 (no gin eile de do roghainn) air localhost agus a dhol chun consol mas-fhìor.
Tha a h-uile còd san stòr docker-ilo-client.
Òrdugh slàn airson ceangal ri ILO:

docker run -d --rm --name ilo-client -p 5900:5900 -e HILO_HOST=https://ADDRESS_OF_YOUR_HOST -e HILO_USER=SOME_USERNAME -e HILO_PASS=SOME_PASSWORD sshnaidm/docker-ilo-client

far an e ADDRESS_OF_YOUR_HOST an t-ainm aoigheachd ILO, is e SOME_USERNAME an logadh a-steach agus, mar sin, SOME_PASSWORD am facal-faire airson ILO.
Às deidh sin, dìreach cuir air bhog neach-dèiligidh VNC sam bith chun t-seòladh: vnc://localhost:5900
Tha fàilte air iarrtasan cur-ris agus tarraing, gu dearbh.

Tha pròiseact coltach ris ann airson ceangal ri eadar-aghaidh IDRAC de dh’ innealan DELL: docair-idrac6.

Source: www.habr.com

Cuir beachd ann