Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
root@Docker:/# ipconfig
bash: ipconfig: command not found
root@Docker:/# ip route
bash: ip: command not found
root@Docker:/#route
bash: route: command not found
root@Docker:/# ping
bash: ping: command not found
/ # ip addr add 10.0.0.1/24 dev eth0
ip: RTNETLINK answers: Operation not permitted
#Из консоли UNL:
docker -H=tcp://127.0.0.1:4243 ps -a
#Запущеный UNL-ом контейнер будет с именем типа
#NAMES: 82870f34-925a-438f-a17d-1841250497a6-0-5
#ORTS: 47a9753304cc
#Удаляем его:
docker -H=tcp://127.0.0.1:4243 rm 47a9753304cc
#запускаем с атрибутом NET_ADMIN и таким же именем:
docker -H=tcp://127.0.0.1:4243 run --cap-add=NET_ADMIN -d --name 82870f34-925a-438f-a17d-1841250497a6-0-5 -i -t busybox /bin/sh
cat ./protocol_handler.sh
#!/bin/bash
protocol=$(echo $1 | cut -d : -f 1)
address=$(echo $1 | cut -d / -f 3)
user=$(echo $address | grep @ | cut -d @ -f 1)
port=$(echo $address | grep : | cut -d : -f 2)
host=$(echo $address | cut -d @ -f 2 | cut -d : -f 1)
case $protocol in
ssh)
connectstring=$(echo "$([ -z $user ] || echo "$user@")$host$([ -z $port ] || echo "-p $port")")
konsole --new-tab -e "$protocol $connectstring"
;;
telnet)
connectstring=$(echo "$host $([ -z $port ] || echo "$port")$([ -z $user ] || echo "-l $user")")
konsole --new-tab -e "$protocol $connectstring"
;;
rdesktop)
connectstring=$(echo "$([ -z $user ] || echo "-u $user ")$host$([ -z $port ] || echo ":$port")")
rdesktop -g 1280x960 $connectstring
;;
vnc)
connectstring=$(echo "$host$([ -z $port ] || echo":$port")")
vncviewer $connectstring
;;
docker)
konsole --new-tab -e docker -H=$address attach $(echo $1 | cut -d / -f 4 | cut -d \? -f 1)
;;
esa
UNetLab 1.0.0-12. Интеграция с Docker и Dynamic nodes connection