|
@@ -0,0 +1,80 @@
|
|
|
|
|
+#
|
|
|
|
|
+#!/bin/sh
|
|
|
|
|
+
|
|
|
|
|
+find(){
|
|
|
|
|
+
|
|
|
|
|
+ #sudo ovs-vsctl --data=bare --no-heading --columns=name find interface external_ids:container_id=**con1** external_ids:container_iface=**eth2**
|
|
|
|
|
+ sudo ovs-vsctl --data=bare --columns=external_ids,name find interface
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+run() {
|
|
|
|
|
+ BRIDGE=$2
|
|
|
|
|
+ INTERFACE=$3
|
|
|
|
|
+ CONTAINER=$4
|
|
|
|
|
+ CONTAINER_DIR=$5
|
|
|
|
|
+ IPADDR=$6
|
|
|
|
|
+ IPMASK=$7
|
|
|
|
|
+ GATEWAY=$8
|
|
|
|
|
+ sudo ovs-vsctl show
|
|
|
|
|
+ echo "Delete previous assigned ports for container: $CONTAINER..."
|
|
|
|
|
+ sudo ovs-docker del-ports $BRIDGE $CONTAINER
|
|
|
|
|
+ echo "starting container $CONTAINER..."
|
|
|
|
|
+ #env $(cat $CONTAINER_DIR/.env | grep "#" -v) docker-compose -f $CONTAINER_DIR/docker-compose.yml up -d
|
|
|
|
|
+# docker run -d -p 6080:80 -p 5900:5900 -v /dev/shm:/dev/shm --name $CONTAINER --cap-add=NET_ADMIN -e USER=mickey -e PASSWORD=mouse -e RESOLUTION=1920x1080 --net=none --rm dorowu/ubuntu-desktop-lxde-vnc:focal
|
|
|
|
|
+ docker run -d -v /etc/timezone:/etc/timezone:ro -v /etc/localtime:/etc/localtime:ro -v /dev/shm:/dev/shm -v /home/tuffy/docker/Dockers_dev/ubuntu/mickey:/home/mickey --name $CONTAINER --device /dev/snd -e ALSADEV=hw:3,0 --cap-add=NET_ADMIN -e USER=mickey -e PASSWORD=mouse -e RESOLUTION=1920x1080 -e TZ=Asia/Hong_Kong --net=none --rm ub1:1.2
|
|
|
|
|
+
|
|
|
|
|
+ sleep 1
|
|
|
|
|
+ echo "assign $INTERFACE to $CONTAINER with ipaddress $IPADDR/$IPMASK..."
|
|
|
|
|
+ sudo ovs-docker add-port $BRIDGE $INTERFACE $CONTAINER --ipaddress=$IPADDR/$IPMASK --gateway=$GATEWAY
|
|
|
|
|
+ #sudo ovs-docker add-port ovs-br1 eth2 con2 --ipaddress=192.168.6.11/24
|
|
|
|
|
+ docker exec -it $CONTAINER ip route add default via $GATEWAY dev $INTERFACE
|
|
|
|
|
+ docker exec -it $CONTAINER route
|
|
|
|
|
+ sudo ovs-vsctl show
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+destroy(){
|
|
|
|
|
+ BRIDGE=$2
|
|
|
|
|
+ CONTAINER=$3
|
|
|
|
|
+
|
|
|
|
|
+ echo "Stopping $BRIDGE ... $CONTAINER..."
|
|
|
|
|
+ docker stop $CONTAINER
|
|
|
|
|
+ echo "Delete previous assigned ports for container: $CONTAINER..."
|
|
|
|
|
+ sudo ovs-docker del-ports $BRIDGE $CONTAINER
|
|
|
|
|
+ sudo ovs-vsctl show
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+usage() {
|
|
|
|
|
+ cat << EOF
|
|
|
|
|
+
|
|
|
|
|
+ PARAM:
|
|
|
|
|
+ run BRIDGE INTERFACE CONTAINER CONTAINER_DIR IPADDR MASK
|
|
|
|
|
+ stop BRIDGE CONTAINER
|
|
|
|
|
+EOF
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+if [ $# -eq 0 ]; then
|
|
|
|
|
+ usage
|
|
|
|
|
+ exit 0
|
|
|
|
|
+fi
|
|
|
|
|
+
|
|
|
|
|
+case $1 in
|
|
|
|
|
+ "run")
|
|
|
|
|
+ run "$@"
|
|
|
|
|
+ exit 0
|
|
|
|
|
+ ;;
|
|
|
|
|
+ "stop")
|
|
|
|
|
+ destroy "$@"
|
|
|
|
|
+ exit 0
|
|
|
|
|
+ ;;
|
|
|
|
|
+ "find")
|
|
|
|
|
+ find "$@"
|
|
|
|
|
+ exit 0
|
|
|
|
|
+ ;;
|
|
|
|
|
+
|
|
|
|
|
+esac
|