Docker container αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ HP αžαžΆαž˜αžšαž™αŸˆ ILO

αž’αŸ’αž“αž€αž”αŸ’αžšαž αŸ‚αž›αž‡αžΆαž†αŸ’αž„αž›αŸ‹ - αž αŸαžαž»αž’αŸ’αžœαžΈαž”αžΆαž“αž‡αžΆ Docker αž˜αžΆαž“αž“αŸ…αž‘αžΈαž“αŸαŸ‡? αžαžΎαž˜αžΆαž“αž”αž‰αŸ’αž αžΆαž’αŸ’αžœαžΈαž‡αžΆαž˜αž½αž™αž€αžΆαžšαž…αžΌαž›αž‘αŸ…αž€αŸ’αž“αž»αž„αž…αŸ†αžŽαž»αž…αž”αŸ’αžšαž‘αžΆαž€αŸ‹αž”αžŽαŸ’αžŠαžΆαž‰αžšαž”αžŸαŸ‹ ILO αž“αž·αž„αžŠαŸ†αž‘αžΎαž„αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αžαžΆαž˜αžαž˜αŸ’αžšαžΌαžœαž€αžΆαžš?
αž“αŸ„αŸ‡αž αžΎαž™αž‡αžΆαž’αŸ’αžœαžΈαžŠαŸ‚αž›αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αž‚αž·αžαž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž–αž½αž€αž‚αŸαž”αžΆαž“αž•αŸ’αžαž›αŸ‹αž±αŸ’αž™αžαŸ’αž‰αž»αŸ†αž“αžΌαžœαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαžŠαŸ‚αž›αž˜αž·αž“αž…αžΆαŸ†αž”αžΆαž…αŸ‹αž…αžΆαžŸαŸ‹αž˜αž½αž™αž…αŸ†αž“αž½αž“αžŠαŸ‚αž›αžαŸ’αž‰αž»αŸ†αžαŸ’αžšαžΌαžœαž€αžΆαžšαžŠαŸ†αž‘αžΎαž„αž‘αžΎαž„αžœαž·αž‰ (αž’αŸ’αžœαžΈαžŠαŸ‚αž›αž‚αŸαž αŸ…αžαžΆαž€αžΆαžšαž€αŸ‚αžŸαž˜αŸ’αžšαž½αž›αž‘αžΎαž„αžœαž·αž‰)αŸ” αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαžαŸ’αž›αž½αž“αž―αž„αž˜αžΆαž“αž‘αžΈαžαžΆαŸ†αž„αž“αŸ…αž€αŸ’αžšαŸ…αž”αŸ’αžšαž‘αŸαžŸ αžšαžΏαž„αžαŸ‚αž˜αž½αž™αž‚αžαŸ‹αžŠαŸ‚αž›αž˜αžΆαž“αž‚αžΊαž…αŸ†αžŽαž»αž…αž”αŸ’αžšαž‘αžΆαž€αŸ‹αž‚αŸαž αž‘αŸ†αž–αŸαžšαŸ” αžŠαžΌαž…αŸ’αž“αŸ„αŸ‡αž αžΎαž™ αžαŸ’αž‰αž»αŸ†αžαŸ’αžšαžΌαžœαž…αžΌαž›αž‘αŸ…αž€αžΆαž“αŸ‹ Virtual Console αžŠαžΎαž˜αŸ’αž”αžΈαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆαž˜αž½αž™αž…αŸ†αž“αž½αž“αŸ” αž“αŸ„αŸ‡αž αžΎαž™αž‡αžΆαž€αž“αŸ’αž›αŸ‚αž„αžŠαŸ‚αž›αžœαžΆαž”αžΆαž“αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αŸ”
αžŠαžΌαž…αžŠαŸ‚αž›αž’αŸ’αž“αž€αž”αžΆαž“αžŠαžΉαž„αž αžΎαž™αžαžΆ Java αž‡αžΆαž’αž˜αŸ’αž˜αžαžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αŸ’αžšαž—αŸαž‘αž•αŸ’αžŸαŸαž„αŸ—αž“αŸƒ Virtual Console αž˜αž·αž“αžαžΆαž“αŸ…αž€αŸ’αž“αž»αž„ HP ឬ Dell αž“αŸ„αŸ‡αž‘αŸαŸ” αž™αŸ‰αžΆαž„αž αŸ„αž…αžŽαžΆαžŸαŸ‹αž“αŸ„αŸ‡αž‡αžΆαžšαž”αŸ€αž”αžŠαŸ‚αž›αžœαžΆαž’αŸ’αž›αžΆαž”αŸ‹αž‡αžΆ (αž αžΎαž™αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž‚αžΊαž…αžΆαžŸαŸ‹αžŽαžΆαžŸαŸ‹) αŸ” αž”αŸ‰αž»αž“αŸ’αžαŸ‚ Firefox αž“αž·αž„ Chrome αž”αžΆαž“αžˆαž”αŸ‹αž‚αžΆαŸ†αž‘αŸ’αžšαž’αžΆαž”αŸ‹αž—αŸ’αž›αŸαžαž‘αžΆαŸ†αž„αž“αŸαŸ‡αž™αžΌαžšαž˜αž€αž αžΎαž™ αž αžΎαž™ IcedTea αžαŸ’αž˜αžΈαž˜αž·αž“αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž‡αžΆαž˜αž½αž™αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž‘αžΆαŸ†αž„αž“αŸαŸ‡αž‘αŸαŸ” αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž‡αž˜αŸ’αžšαžΎαžŸαž‡αžΆαž…αŸ’αžšαžΎαž“αž”αžΆαž“αž›αŸαž…αž…αŸαž‰αž˜αž€αŸ–

1. αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αžŸαžΆαž„αžŸαž„αŸ‹αžŸαž½αž“αžŸαžαŸ’αžœαž–αžΈαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžšαž»αž€αžšαž€αžαžΆαž˜αž’αŸŠαžΈαž“αž’αžΊαžŽαž·αž αž“αž·αž„αž€αŸ†αžŽαŸ‚ Java αž“αŸ…αž›αžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€ αž‡αž˜αŸ’αžšαžΎαžŸαž“αŸαŸ‡αž›αŸ‚αž„αžαŸ’αžšαžΌαžœαž€αžΆαžšαž‘αŸ€αžαž αžΎαž™αŸ” αž˜αž·αž“αž˜αžΆαž“αž”αŸ†αžŽαž„αž”αŸ’αžšαžΆαžαŸ’αž“αžΆαžŠαžΎαž˜αŸ’αž”αžΈαž…αŸ†αž’αž€αž”αŸ’αžšαž–αŸαž“αŸ’αž’αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž‡αžΆαž”αŸ’αžšαž™αŸ„αž‡αž“αŸαž“αŸƒαž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆαž–αžΈαžšαž”αžΈαŸ”
2. αž”αžΎαž€αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž’αŸ’αžœαžΈαž˜αž½αž™αž…αžΆαžŸαŸ‹αž“αŸ…αž›αžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž“αž·αž˜αŸ’αž˜αž·αž (αžœαžΆαž”αžΆαž“αž”αŸ’αžšαŸ‚αž€αŸ’αž›αžΆαž™αžŠαŸ„αž™αž–αž·αžŸαŸ„αž’αž“αŸαžαžΆαž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαž€αžΆαžš Java 6) αž αžΎαž™αž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž’αŸ’αžœαžΈαž‚αŸ’αžšαž”αŸ‹αž™αŸ‰αžΆαž„αžŠαŸ‚αž›αž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαž€αžΆαžšαžαžΆαž˜αžšαž™αŸˆαžœαžΆαŸ”
3. αžŠαžΌαž…αž‚αŸ’αž“αžΆαž‘αŸ…αž“αžΉαž„αž…αŸ†αž“αž»αž…αž‘αžΈ 2 αžŠαŸ‚αžš αžαŸ‚αž“αŸ…αž€αŸ’αž“αž»αž„αž€αž»αž„αžαžΊαž“αŸαžš αž…αžΆαž”αŸ‹αžαžΆαŸ†αž„αž–αžΈαžŸαž αžŸαŸαžœαž·αž€αž‡αžΆαž…αŸ’αžšαžΎαž“αž”αžΆαž“αž‡αž½αž”αž”αŸ’αžšαž‘αŸ‡αž”αž‰αŸ’αž αžΆαžŠαžΌαž…αž‚αŸ’αž“αžΆ αž αžΎαž™αžœαžΆαž€αžΆαž“αŸ‹αžαŸ‚αž„αžΆαž™αžŸαŸ’αžšαž½αž›αž€αŸ’αž“αž»αž„αž€αžΆαžšαž•αŸ’αž‘αŸαžšαž–αž½αž€αžœαžΆαž“αžΌαžœαžαŸ†αžŽαž—αŸ’αž‡αžΆαž”αŸ‹αž‘αŸ…αž€αžΆαž“αŸ‹αž€αž»αž„αžαžΊαž“αŸαžšαž“αŸ…αž›αžΎ Dockerhub αž‡αžΆαž‡αžΆαž„αžšαžΌαž”αž—αžΆαž–αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž“αž·αž˜αŸ’αž˜αž·αž αžŠαŸ‚αž›αž˜αžΆαž“αž–αžΆαž€αŸ’αž™αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αŸ”αž›αŸ”
(αžαžΆαž˜β€‹αž–αž·αžβ€‹αž‘αŸ… αžαŸ’αž‰αž»αŸ†β€‹αž”αžΆαž“β€‹αžαŸ’αžšαžΉαž˜β€‹αž…αŸ†αžŽαž»αž…β€‹αž‘αžΈ ៣ αž”αž“αŸ’αž‘αžΆαž”αŸ‹β€‹αž–αžΈβ€‹αžαŸ’αž‰αž»αŸ†β€‹αž”αžΆαž“β€‹αž…αŸ†αžŽαž»αž…β€‹αž‘αžΈ ្)
αž™αžΎαž„αž“αžΉαž„αž’αŸ’αžœαžΎαž…αŸ†αžŽαž»αž…αž‘αžΈ 3 αž“αŸ…αžαŸ’αž„αŸƒαž“αŸαŸ‡αŸ”

αžαŸ’αž‰αž»αŸ†αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ†αž•αž»αžŸαž‚αŸ†αž“αž·αžαž‡αžΆαž…αž˜αŸ’αž”αž„αžŠαŸ„αž™αž‚αž˜αŸ’αžšαŸ„αž„αž–αžΈαžšαŸ–
1. docker-baseimage-gui
2. docker-firefox-java
αž‡αžΆαž‘αžΌαž‘αŸ…αž‚αž˜αŸ’αžšαŸ„αž„αžŠαŸ†αž”αžΌαž„ docker-baseimage-gui αž˜αžΆαž“αž§αž”αž€αžšαžŽαŸαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ αž“αž·αž„αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž€αž»αŸ†αž–αŸ’αž™αžΌαž‘αŸαžšαžšαž½αž…αž αžΎαž™αž“αŸ…αž€αŸ’αž“αž»αž„ Docker αŸ” αž‡αžΆαž’αž˜αŸ’αž˜αžαžΆ αž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαž€αŸ†αžŽαžαŸ‹αž’αžαŸαžšαžŸαŸ’αžαž„αŸ‹αžŠαžΆαžš αž αžΎαž™αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž“αžΉαž„αž’αžΆαž…αž…αžΌαž›αž”αŸ’αžšαžΎαž”αžΆαž“αžαžΆαž˜αžšαž™αŸˆ browser (websocket) ឬ VNC αŸ” αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈαžšαž”αžŸαŸ‹αž™αžΎαž„ αž™αžΎαž„αž“αžΉαž„αž”αžΎαž€αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžαžΆαž˜αžšαž™αŸˆ Firefox αž“αž·αž„ VNC αžœαžΆαž˜αž·αž“αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžαžΆαž˜αžšαž™αŸˆ websocket αž‘αŸαŸ”
αž‡αžΆαžŠαŸ†αž”αžΌαž„ αžŸαžΌαž˜αžŠαŸ†αž‘αžΎαž„αž€αž‰αŸ’αž…αž”αŸ‹αž…αžΆαŸ†αž”αžΆαž…αŸ‹ - 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 αž αžΎαž™αž”αž‰αŸ’αž…αžΌαž›αžˆαŸ’αž˜αŸ„αŸ‡αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž“αž·αž„αž–αžΆαž€αŸ’αž™αžŸαž˜αŸ’αž„αžΆαžαŸ‹αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” αž”αžΎαž€αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš Firefox αž“αŸ…αž€αŸ’αž“αž»αž„ autostartαŸ–

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 session_key αžŠαŸ‚αž›αž’αŸ’αž“αž€αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αž†αŸ’αž›αž„αž€αžΆαžαŸ‹αžŸαŸ†αžŽαžΎαžš GETαŸ–
αž…αžΌαžšαž™αžΎαž„αž‚αžŽαž“αžΆ session_key αžαžΆαž˜αžšαž™αŸˆ curl αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αžαŸαžšαž”αžšαž·αžŸαŸ’αžαžΆαž“ 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 αž“αŸ…αž€αŸ’αž“αž»αž„ docker αž™αžΎαž„αž’αžΆαž…αž”αžΎαž€αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš VNC:

exec x11vnc -forever -create

αž₯αž‘αžΌαžœαž“αŸαŸ‡αž™αžΎαž„αž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚αž—αŸ’αž‡αžΆαž”αŸ‹αžαžΆαž˜αžšαž™αŸˆ VNC αž‘αŸ…αž€αžΆαž“αŸ‹αž…αŸ’αžšαž€ 5900 (αž¬αž‡αž˜αŸ’αžšαžΎαžŸαžŽαžΆαž˜αž½αž™αž•αŸ’αžŸαŸαž„αž‘αŸ€αžαžšαž”αžŸαŸ‹αž’αŸ’αž“αž€) αž“αŸ…αž›αžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“ αž αžΎαž™αž…αžΌαž›αž‘αŸ…αž€αžΆαž“αŸ‹αž€αž»αž„αžŸαžΌαž›αž“αž·αž˜αŸ’αž˜αž·αžαŸ”
αž›αŸαžαž€αžΌαžŠαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αžŸαŸ’αžαž·αžαž“αŸ…αž€αŸ’αž“αž»αž„αžƒαŸ’αž›αžΆαŸ†αž„ docker-ilo-αž’αžαž·αžαž·αž‡αž“.
αž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆαž–αŸαž‰αž›αŸαž‰αžŠαžΎαž˜αŸ’αž”αžΈαž—αŸ’αž‡αžΆαž”αŸ‹αž‘αŸ… 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 αž“αŸƒαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“ DELLαŸ– docker-idrac ៦.

αž”αŸ’αžšαž—αž–: www.habr.com

αž”αž“αŸ’αžαŸ‚αž˜αž˜αžαž·αž™αŸ„αž”αž›αŸ‹