Docker container mo le puleaina o sapalai HP e ala i le ILO

Atonu o loʻo e mafaufau - aisea e iai Docker iinei? O le a le fa'afitauli i le saini i totonu o le ILO web interface ma fa'atulaga lau server pe a mana'omia?
O le mea lena na ou mafaufau i ai ina ua latou tuʻuina mai ia te aʻu ni nai 'auʻaunaga tuai e le manaʻomia na ou manaʻomia e toe faʻapipiʻi (le mea e taʻua o le toe tuʻuina atu). O le server lava ia o lo'o i fafo, pau lava le mea e maua o le upega tafa'ilagi. Ia, e tusa ai, e tatau ona ou alu i le Virtual Console e faʻatino ai ni faʻatonuga. O iina na amata ai.
E pei ona e iloa, Java e masani ona faʻaaogaina mo ituaiga eseese o faʻamafanafanaga, pe i HP poʻo Dell. O le mea sili o le mea na masani ai (ma o faiga e matua tuai lava). Ae na taofia e Firefox ma Chrome le lagolagoina o nei applets i se taimi ua leva, ma o le IcedTea fou e le o galue i nei faiga. O le mea lea, na tulaʻi mai ai ni nai filifiliga:

1. Amata ona fausia se pa manu mai su'esu'ega ma Java versions i lau masini, ua le toe mana'omia lenei filifiliga. E leai se mana'o e ula i le faiga ona o ni poloaiga se lua.
2. Fa'alauiloa se mea tuai i luga o le masini komepiuta (na fa'ata'ita'i fa'ata'ita'iga e te mana'omia le Java 6) ma fa'atulaga mea uma e te mana'omia e ala i ai.
3. E tutusa ma le vaega 2, naʻo totonu o se atigipusa, talu ai o le tele o paaga na feagai ma le faʻafitauli lava e tasi ma e sili atu le faigofie ona tuʻuina atu ia i latou se fesoʻotaʻiga i se atigipusa i luga o Dockerhub nai lo se ata masini masini, faʻatasi ai ma upu faʻaulu uma, ma isi.
(O le mea moni, na o le togi 3 na ou maua ina ua uma ona ou togi 2)
O le a tatou faia le vaega 3 i le aso.

E lua lava galuega faatino na musuia ai au:
1. docker-baseimage-gui
2. docker-firefox-java
Ole galuega muamua docker-baseimage-gui ua uma ona i ai mea aoga ma faʻasalalauga mo le faʻaogaina o talosaga i luga o le komepiuta i Docker. E masani lava e te manaʻomia le faʻamalamalamaina o fesuiaiga masani ma o lau talosaga o le a mafai ona maua e ala ile browser (websocket) poʻo le VNC. I la matou tulaga, o le a matou faʻalauiloaina e ala i Firefox ma VNC; e leʻi galue e ala i websocket.
Muamua, tatou faʻapipiʻi afifi manaʻomia - Java 6 ma 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

Pau lava le mea e tatau ona e faia o le alu i le itulau fa'aoga a le ILO ma fa'aofi lou igoa ole igoa ma lou fa'aupuga. Tatala Firefox ile autostart:

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

Ole suiga ole siosiomaga ole HILO_HOST o lo'o iai le tuatusi upegatafa'ilagi ole matou fa'aoga ILO, mo se fa'ata'ita'iga myhp.example.com
Ina ia otometi le saini, tatou faaopoopo le faatagaga. Le ulufale i le ILO e tupu ma se talosaga POST masani, o se taunuuga e te maua ai se JSON session_key, ona e pasia lea i se talosaga GET:
Se'i tatou fa'atatau le session_key e ala i le curl pe a fa'amatalaina le HILO_USER ma le HILO_PASS fesuiaiga ole siosiomaga:

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

A maeʻa ona matou faamaumauina le session_key i le docker, e mafai ona matou faʻalauiloa VNC:

exec x11vnc -forever -create

Ole taimi nei e faigofie ona tatou faʻafesoʻotaʻi ile VNC ile port 5900 (poʻo soʻo se isi mea e te filifilia) ile localhost ma alu i le faʻamafanafanaga virtual.
O code uma o loʻo i totonu o le fale teu oloa docker-ilo-client.
Poloaiga atoa e fa'afeso'ota'i ile 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

lea o le ADDRESS_OF_YOUR_HOST o le igoa talimalo a le ILO, SOME_USERNAME o le saini ma, e tusa ai, SOME_PASSWORD le upu faataga mo le ILO.
A maeʻa lena, faʻalauiloa soʻo se VNC client i le tuatusi: vnc://localhost:5900
Fa'aopoopo ma toso talosaga e, ioe, fa'afeiloa'i.

O loʻo iai se poloketi faʻatusa mo le fesoʻotaʻi atu i fesoʻotaʻiga IDRAC o masini DELL: docker-idrac6.

puna: www.habr.com

Faaopoopo i ai se faamatalaga