vbr_ubib.sh.bak 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. #
  2. #!/bin/sh
  3. find(){
  4. #sudo ovs-vsctl --data=bare --no-heading --columns=name find interface external_ids:container_id=**con1** external_ids:container_iface=**eth2**
  5. sudo ovs-vsctl --data=bare --columns=external_ids,name find interface
  6. }
  7. run() {
  8. BRIDGE=$2
  9. INTERFACE=$3
  10. CONTAINER=$4
  11. CONTAINER_DIR=$5
  12. IPADDR=$6
  13. IPMASK=$7
  14. GATEWAY=$8
  15. sudo ovs-vsctl show
  16. echo "Delete previous assigned ports for container: $CONTAINER..."
  17. sudo ovs-docker del-ports $BRIDGE $CONTAINER
  18. echo "starting container $CONTAINER..."
  19. #env $(cat $CONTAINER_DIR/.env | grep "#" -v) docker-compose -f $CONTAINER_DIR/docker-compose.yml up -d
  20. # 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
  21. docker run -d -v /etc/timezone:/etc/timezone:ro -v /etc/localtime:/etc/localtime:ro -v /dev/shm:/dev/shm -v /home/tuffy/docker/clone/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
  22. sleep 1
  23. echo "assign $INTERFACE to $CONTAINER with ipaddress $IPADDR/$IPMASK..."
  24. sudo ovs-docker add-port $BRIDGE $INTERFACE $CONTAINER --ipaddress=$IPADDR/$IPMASK --gateway=$GATEWAY
  25. #sudo ovs-docker add-port ovs-br1 eth2 con2 --ipaddress=192.168.6.11/24
  26. docker exec -it $CONTAINER ip route add default via $GATEWAY dev $INTERFACE
  27. docker exec -it $CONTAINER route
  28. sudo ovs-vsctl show
  29. }
  30. destroy(){
  31. BRIDGE=$2
  32. CONTAINER=$3
  33. echo "Stopping $BRIDGE ... $CONTAINER..."
  34. docker stop $CONTAINER
  35. echo "Delete previous assigned ports for container: $CONTAINER..."
  36. sudo ovs-docker del-ports $BRIDGE $CONTAINER
  37. sudo ovs-vsctl show
  38. }
  39. usage() {
  40. cat << EOF
  41. PARAM:
  42. run BRIDGE INTERFACE CONTAINER CONTAINER_DIR IPADDR MASK
  43. stop BRIDGE CONTAINER
  44. EOF
  45. }
  46. if [ $# -eq 0 ]; then
  47. usage
  48. exit 0
  49. fi
  50. case $1 in
  51. "run")
  52. run "$@"
  53. exit 0
  54. ;;
  55. "stop")
  56. destroy "$@"
  57. exit 0
  58. ;;
  59. "find")
  60. find "$@"
  61. exit 0
  62. ;;
  63. esac