| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- #
- #!/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
|