Skip to content

Commit ddbea36

Browse files
author
Felix Exner (fexner)
authored
Add more arguments to start_ursim.sh (#220)
Adding ``` -n for container name -p for IP address -f for port forwarding ``` This way, multiple instances of URSim Docker can be started on one host.
1 parent df9f95c commit ddbea36

File tree

1 file changed

+31
-15
lines changed

1 file changed

+31
-15
lines changed

scripts/start_ursim.sh

Lines changed: 31 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,9 @@
3030

3131
PERSISTENT_BASE="${HOME}/.ursim"
3232
URCAP_VERSION="1.0.5"
33+
IP_ADDRESS="192.168.56.101"
34+
PORT_FORWARDING="-p 30001-30004:30001-30004 -p 29999:29999"
35+
CONTAINER_NAME="ursim"
3336

3437
help()
3538
{
@@ -46,7 +49,10 @@ help()
4649
If not specified, will fallback to ${PERSISTENT_BASE}/${ROBOT_SERIES}/${ROBOT_MODEL}/programs"
4750
echo " -u <folder> Location from which URCaps are read / to which URCaps are written.
4851
If not specified, will fallback to ${PERSISTENT_BASE}/${ROBOT_SERIES}/urcaps"
49-
echo " -d Detached mode - start in backgound"
52+
echo " -n Name of the docker container. Defaults to '$CONTAINER_NAME'"
53+
echo " -i IP address the container should get. Defaults to $IP_ADDRESS"
54+
echo " -d Detached mode - start in backgound"
55+
echo " -f Specify port forwarding to use. Defaults to '$PORT_FORWARDING'. Set to empty string to disable port forwarding."
5056
echo " -h Print this Help."
5157
echo
5258
}
@@ -131,7 +137,7 @@ validate_ursim_version()
131137
}
132138

133139

134-
while getopts ":hm:v:p:u:d" option; do
140+
while getopts ":hm:v:p:u:i:f:n:d" option; do
135141
case $option in
136142
h) # display Help
137143
help
@@ -148,6 +154,15 @@ while getopts ":hm:v:p:u:d" option; do
148154
u) # urcaps_folder
149155
URCAP_STORAGE_ARG=${OPTARG}
150156
;;
157+
i) # IP address
158+
IP_ADDRESS=${OPTARG}
159+
;;
160+
f) # forward ports
161+
PORT_FORWARDING=${OPTARG}
162+
;;
163+
n) # container_name
164+
CONTAINER_NAME=${OPTARG}
165+
;;
151166
d) # detached mode
152167
DETACHED=true
153168
;;
@@ -189,28 +204,29 @@ else
189204
docker network create --subnet=192.168.56.0/24 ursim_net
190205
fi
191206

192-
# run docker contain
193-
docker run --rm -d --net ursim_net --ip 192.168.56.101\
194-
-v "${URCAP_STORAGE}":/urcaps \
195-
-v "${PROGRAM_STORAGE}":/ursim/programs \
196-
-e ROBOT_MODEL="${ROBOT_MODEL}" \
197-
-p 30001-30004:30001-30004 \
198-
-p 29999:29999 \
199-
--name ursim \
200-
universalrobots/ursim_${ROBOT_SERIES}:$URSIM_VERSION || exit
207+
docker_cmd="docker run --rm -d --net ursim_net --ip $IP_ADDRESS\
208+
-v ${URCAP_STORAGE}:/urcaps \
209+
-v ${PROGRAM_STORAGE}:/ursim/programs \
210+
-e ROBOT_MODEL=${ROBOT_MODEL} \
211+
$PORT_FORWARDING \
212+
--name $CONTAINER_NAME \
213+
universalrobots/ursim_${ROBOT_SERIES}:$URSIM_VERSION || exit"
214+
215+
#echo $docker_cmd
216+
$docker_cmd
201217

202218
# Stop container when interrupted
203219
TRAP_CMD="
204220
echo \"killing ursim\";
205-
docker container kill ursim >> /dev/null;
206-
docker container wait ursim >> /dev/null;
221+
docker container kill $CONTAINER_NAME >> /dev/null;
222+
docker container wait $CONTAINER_NAME >> /dev/null;
207223
echo \"done\";
208224
exit
209225
"
210226
trap "$TRAP_CMD" SIGINT SIGTERM
211227

212228
echo "Docker URSim is running"
213-
printf "\nTo access Polyscope, open the following URL in a web browser.\n\thttp://192.168.56.101:6080/vnc.html\n\n"
229+
printf "\nTo access Polyscope, open the following URL in a web browser.\n\thttp://$IP_ADDRESS:6080/vnc.html\n\n"
214230

215231
if [ "$DETACHED" = false ]; then
216232
echo "To exit, press CTRL+C"
@@ -219,5 +235,5 @@ echo "To exit, press CTRL+C"
219235
sleep 1
220236
done
221237
else
222-
echo "To kill it, please execute 'docker stop ursim'"
238+
echo "To kill it, please execute 'docker stop $CONTAINER_NAME'"
223239
fi

0 commit comments

Comments
 (0)