Akpa Docker maka ijikwa sava HP site na ILO

O nwere ike ịbụ na ị na-eche - gịnị kpatara Docker ji dịrị ebe a? Kedu nsogbu dị na ịbanye na interface weebụ ILO na ịtọlite ​​​​sava gị ka ọ dị mkpa?
Nke ahụ bụ ihe m chere mgbe ha nyere m ole na ole sava ochie na-enweghị isi nke m kwesịrị itinyeghachi (ihe a na-akpọ reprovision). Ihe nkesa n'onwe ya dị na mba ofesi, naanị ihe dị bụ interface weebụ. Ọfọn, ya mere, a ga m aga na Virtual Console iji mee ụfọdụ iwu. Ọ bụ ebe ahụ ka ọ malitere.
Dị ka ị maara, Java na-ejikarị eme ihe dị iche iche nke mebere consoles, ma na HP ma ọ bụ Dell. Opekempe, otu ahụ ka ọ dịbu (na usoro ndị ahụ adịla agadi). Mana Firefox na Chrome kwụsịrị ịkwado applets ndị a ogologo oge gara aga, IcedTea ọhụrụ anaghị arụ ọrụ na sistemụ ndị a. Ya mere, ọtụtụ nhọrọ pụtara:

1. Malite ịrụ ụlọ zoo site na ihe nchọgharị na ụdị Java na igwe gị, nhọrọ a adịkwaghị mkpa. Enweghị ọchịchọ ịkwa emo usoro ahụ n'ihi iwu abụọ.
2. Ẹkedori ihe nnọọ ochie na mebere igwe (ọ tụgharịrị experimentally na ị chọrọ Java 6) na hazi ihe niile ị chọrọ site na ya.
3. Otu ihe ahụ dị ka isi 2, naanị na akpa, ebe ọ bụ na ọtụtụ ndị ọrụ ibe zutere otu nsogbu ahụ ma ọ dị mfe ịnyefe ha njikọ na akpa na Dockerhub karịa ihe oyiyi igwe mebere, na okwuntughe niile, wdg.
(N'ezie, naanị m nwetara isi 3 mgbe m mechara isi 2)
Anyị ga-eme isi 3 taa.

Arụmọrụ abụọ gbara m ume:
1. docker-baseimage-gui
2. docker-firefox-java
N'ụzọ bụ isi ọrụ mbụ docker-baseimage-gui enweelarị ngwa na nhazi maka ịme ngwa desktọpụ na Docker. Ọ na-adị mkpa ịkọwapụta mgbanwe ọkọlọtọ na ngwa gị ga-enweta site na ihe nchọgharị (websocket) ma ọ bụ VNC. N'ọnọdụ anyị, anyị ga-amalite site na Firefox na VNC; ọ naghị arụ ọrụ site na websocket.
Nke mbụ, ka anyị wụnye ngwugwu ndị dị mkpa - Java 6 na 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

Ugbu a naanị ihe ị ga - eme bụ ịga na ibe interface ILO wee tinye aha njirimara na paswọọdụ gị. Mwepụta Firefox na autostart:

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

Ọnọdụ gburugburu HILO_HOST nwere adreesị webụ nke interface ILO anyị, dịka ọmụmaatụ myhp.example.com
Iji megharịa nbanye ahụ, ka anyị gbakwunye ikike. Nbanye na ILO na-eji arịrịọ POST oge niile, n'ihi nke ị nwetara JSON session_key, nke ị ga-agafe na arịrịọ GET:
Ka anyị gbakọọ session_key site na curl ma ọ bụrụ na akọwapụtara mgbanwe gburugburu HILO_USER na HILO_PASS:

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

Ozugbo anyị dekọrọ session_key na docker, anyị nwere ike ịmalite VNC:

exec x11vnc -forever -create

Ugbu a, anyị na-ejikọta site na VNC gaa na ọdụ ụgbọ mmiri 5900 (ma ọ bụ ihe ọ bụla ọzọ ị họọrọ) na localhost wee gaa na njikwa njikwa.
Koodu niile dị na ebe nchekwa docker-ilo-client.
Iwu zuru oke iji jikọọ na 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

ebe ADDRESS_OF_YOUR_HOST bụ aha nnabata ILO, SAME_USERNAME bụ nbanye na, ya mere, SAME_PASSWORD paswọọdụ maka ILO.
Mgbe nke ahụ gasịrị, malite onye ahịa VNC ọ bụla na adreesị: vnc://localhost:5900
Mgbakwunye na ịdọrọ arịrịọ bụ, n'ezie, nnabata.

Otu oru ngo a dị maka ijikọ na ihu igwe IDRAC nke igwe DELL: docker-idrac6.

isi: www.habr.com

Tinye a comment