рдЖрдк рд╕реЛрдЪ рд░рд╣реЗ рд╣реЛрдВрдЧреЗ - рдпрд╣рд╛рдВ рдбреЙрдХрдЯрд░ рдХреНрдпреЛрдВ рд╣реИ? ILO рд╡реЗрдм рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдореЗрдВ рдЬрд╛рдиреЗ рдФрд░ рдЕрдкрдиреЗ рд╕рд░реНрд╡рд░ рдХреЛ рд╕реЗрдЯ рдХрд░рдиреЗ рдореЗрдВ рдХреНрдпрд╛ рд╕рдорд╕реНрдпрд╛ рд╣реИ рдЬреИрд╕рд╛ рдХрд┐ рдЗрд╕реЗ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП?
рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдХрд┐ рдЬрдм рдЙрдиреНрд╣реЛрдВрдиреЗ рдореБрдЭреЗ рдХреБрдЫ рдкреБрд░рд╛рдиреЗ рдЕрдирд╛рд╡рд╢реНрдпрдХ рд╕рд░реНрд╡рд░ рджрд┐рдП рдереЗ, рдЬрд┐рдиреНрд╣реЗрдВ рдореБрдЭреЗ рдлрд┐рд░ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдерд╛ (рдЬрд┐рд╕реЗ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ)ред рд╕рд░реНрд╡рд░ рд╕реНрд╡рдпрдВ рдорд╣рд╛рд╕рд╛рдЧрд░ рдХреЗ рдкрд╛рд░ рд╕реНрдерд┐рдд рд╣реИ, рдХреЗрд╡рд▓ рдПрдХ рдЪреАрдЬ рдЬреЛ рдЙрдкрд▓рдмреНрдз рд╣реИ рд╡рд╣ рд╣реИ рд╡реЗрдм рдЗрдВрдЯрд░рдлрд╝реЗрд╕ред рдЦреИрд░, рддрджрдиреБрд╕рд╛рд░, рдореБрдЭреЗ рдХреБрдЫ рдЖрджреЗрд╢реЛрдВ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд░реНрдЪреБрдЕрд▓ рдХрдВрд╕реЛрд▓ рдореЗрдВ рдЬрд╛рдирд╛ рдкрдбрд╝рд╛ред рдпрд╣реАрдВ рд╕реЗ рдЗрд╕рдХреА рд╢реБрд░реБрдЖрдд рд╣реБрдИред
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ, рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреЗ рдЖрднрд╛рд╕реА рдХрдВрд╕реЛрд▓ рдХреЗ рд▓рд┐рдП, рдЖрдорддреМрд░ рдкрд░ рдЬрд╛рд╡рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдХрд┐ рдПрдЪрдкреА рдкрд░ рд╣реЛрддрд╛ рд╣реИ, рдбреЗрд▓ рдкрд░ред рдХрд┐рд╕реА рднреА рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рдЗрддрдирд╛ рд╕рдЯреАрдХ рд╣реБрдЖ рдХрд░рддрд╛ рдерд╛ (рдФрд░ рд╕рд┐рд╕реНрдЯрдо рдмрд╣реБрдд рдкреБрд░рд╛рдиреЗ рд╣реИрдВ)ред рд▓реЗрдХрд┐рди рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдФрд░ рдХреНрд░реЛрдо рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдЗрди рдПрдкреНрд▓реЗрдЯреНрд╕ рдХреЛ рд╕рдкреЛрд░реНрдЯ рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рдЪреБрдХреЗ рд╣реИрдВ, рдФрд░ рдирдпрд╛ IcedTea рдЗрди рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдХрдИ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреА рдкрд╣рдЪрд╛рди рдХреА рдЧрдИ:
- рдЕрдкрдиреА рдорд╢реАрди рдкрд░ рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдФрд░ рдЬрд╛рд╡рд╛ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рд╕реЗ рдЪрд┐рдбрд╝рд┐рдпрд╛рдШрд░ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣ рд╡рд┐рдХрд▓реНрдк рддреБрд░рдВрдд рдЧрд╛рдпрдм рд╣реЛ рдЧрдпрд╛ред рдХреБрдЫ рдЯреАрдореЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░рдгрд╛рд▓реА рдХрд╛ рдордЬрд╛рдХ рдЙрдбрд╝рд╛рдиреЗ рдХреА рдХреЛрдИ рдЗрдЪреНрдЫрд╛ рдирд╣реАрдВ рд╣реИред
- рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдкрд░ рдХреБрдЫ рдмрд╣реБрдд рдкреБрд░рд╛рдирд╛ рдЪрд▓рд╛рдПрдВ (рдпрд╣ рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рд░реВрдк рд╕реЗ рдкрддрд╛ рдЪрд▓рд╛ рдерд╛ рдХрд┐ рдЬрд╛рд╡рд╛ 6 рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ) рдФрд░ рдЗрд╕рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЖрдкрдХреЛ рдЬреЛ рдХреБрдЫ рднреА рдЬрд╝рд░реВрд░рдд рд╣реИ рдЙрд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВред
- рдмрд┐рдВрджреБ 2 рдЬреИрд╕реА рд╣реА рдмрд╛рдд, рдХреЗрд╡рд▓ рдХрдВрдЯреЗрдирд░ рдореЗрдВ, рдХреНрдпреЛрдВрдХрд┐ рдХрдИ рд╕рд╣рдпреЛрдЧрд┐рдпреЛрдВ рдХреЛ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдХреА рдЫрд╡рд┐ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдбреЙрдХрдЯрд░ рдкрд░ рдХрдВрдЯреЗрдирд░ рд╕реЗ рд▓рд┐рдВрдХ рдкрд╛рд╕ рдХрд░рдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИ, рд╕рднреА рдкрд╛рд╕рд╡рд░реНрдбреЛрдВ рдХреЗ рд╕рд╛рде, рдЖрджрд┐ред
(рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдореИрдВ рдмрд┐рдВрджреБ 2 рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рдж рд╣реА рдмрд┐рдВрджреБ 3 рдкрд░ рдкрд╣реБрдВрдЪ рдЧрдпрд╛)
рдмрд┐рдВрджреБ 3 рдЖрдЬ рд╣рдо рдХрд░реЗрдВрдЧреЗред
рдореИрдВ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рджреЛ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рд╕реЗ рдкреНрд░реЗрд░рд┐рдд рдерд╛:
- рдбреЛрдХрд░-baseimage-рдЬреАрдпреВрдЖрдИ
- рдбреЛрдХрд░-рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕-рдЬрд╛рд╡рд╛
рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдкрд╣рд▓реЗ
docker-basimage-gui рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА
docker рдореЗрдВ рдбреЗрд╕реНрдХрдЯреЙрдк рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╣реИрдВред рдЖрдорддреМрд░ рдкрд░ рдЖрдкрдХреЛ рдорд╛рдирдХ рдЪрд░ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдФрд░ рдЖрдкрдХрд╛ рдЖрд╡реЗрджрди рдПрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ (рд╡реЗрдмрд╕реЛрдХреЗрдЯ) рдпрд╛ рд╡реАрдПрдирд╕реА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реБрд▓рдн рд╣реЛрдЧрд╛ред рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдо рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдФрд░ рд╡реАрдПрдирд╕реА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЪрд▓реЗрдВрдЧреЗ, рд╡реЗрдмрд╕реИрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЖрд╡рд╢реНрдпрдХ рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ - Java 6 рдФрд░ 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
рдЕрдм рдпрд╣ ILO рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдкреГрд╖реНрда рдкрд░ рдЬрд╛рдиреЗ рдФрд░ рдЕрдкрдиреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛ рд╣реБрдЖ рд╣реИред рд╣рдо рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдХреЛ рдСрдЯреЛрд╕реНрдЯрд╛рд░реНрдЯ рдореЗрдВ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ:
RUN bash -c 'echo "exec openbox-session &" >> ~/.xinitrc' && \ bash -c 'echo "firefox \${HILO_HOST}">> ~/.xinitrc' && \ bash -c 'chmod 755 ~/.xinitrc'
HILO_HOST рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдореЗрдВ рд╣рдорд╛рд░реЗ ILO рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛ рд╡реЗрдм рдкрддрд╛ рд╢рд╛рдорд┐рд▓ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП
myhp.example.com ред
рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХреЛ рдкреЗрдВрдЪ рдХрд░рддреЗ рд╣реИрдВред рд▓реЙрдЧ рдЗрди ILO рдПрдХ рдирд┐рдпрдорд┐рдд POST рдЕрдиреБрд░реЛрдз рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдЖрдкрдХреЛ JSON рд╕реЗрд╢рди_рдХреА рдкреНрд░рд╛рдкреНрддрд┐ рд╣реЛрддреА рд╣реИ, рдЬрд┐рд╕реЗ рдЖрдк GET рдЕрдиреБрд░реЛрдз рдореЗрдВ рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВред
рдпрджрд┐ рдкрд░рд┐рд╡реЗрд╢ HILO_USER рдФрд░ 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
рдбреЙрдХрдЯрд░ рдореЗрдВ рд╣рдордиреЗ session_key рджрд░реНрдЬ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо VNC рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
exec x11vnc -forever -create
рдЕрдм рд▓реЛрдХрд▓рд╣реЛрд╕реНрдЯ рдкрд░ 5900 (рдпрд╛ рдЕрдкрдиреА рдкрд╕рдВрдж рдХреЗ рдХрд┐рд╕реА рдЕрдиреНрдп) рдХреЛ рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡реАрдПрдирд╕реА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ рдФрд░ рд╡рд░реНрдЪреБрдЕрд▓ рдХрдВрд╕реЛрд▓ рдкрд░ рдЬрд╛рдПрдВред
рд╕рднреА рдХреЛрдб
docker-ilo-client рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рд╣реИред
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
рдЬрд╣рд╛рдБ ADDRESS_OF_YOUR_HOST ILO рд╣реЛрд╕реНрдЯ рдирд╛рдо рд╣реИ, SOME_USERNAME рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рд╣реИ рдФрд░ рддрджрдиреБрд╕рд╛рд░, SOME_PASSWORD ILO рдкрд╛рд╕рд╡рд░реНрдб рд╣реИред
рдЙрд╕рдХреЗ рдмрд╛рдж, рдкрддреЗ рдкрд░ рдХреЛрдИ рднреА VNC рдХреНрд▓рд╛рдЗрдВрдЯ рд╢реБрд░реВ рдХрд░реЗрдВ:
vnc://localhost:5900
рдЕрддрд┐рд░рд┐рдХреНрдд рдФрд░ рдкреБрд▓ рдЕрдиреБрд░реЛрдзреЛрдВ рдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИ, рдмрд┐рд▓реНрдХреБрд▓ред
рдПрдХ рд╕рдорд╛рди рдкрд░рд┐рдпреЛрдЬрдирд╛ рдбреЗрд▓ рдорд╢реАрдиреЛрдВ рдХреЗ IDRAC рдЗрдВрдЯрд░рдлреЗрд╕ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореМрдЬреВрдж рд╣реИ:
docker-idrac6 ред