From 54b498fd6a61a2d741795c2edbb6de23dbe0beb1 Mon Sep 17 00:00:00 2001 From: Nicolas Giard Date: Tue, 22 Mar 2022 08:30:15 -0400 Subject: [PATCH] chore: allow custom port for dev docker run (#3722) --- .gitignore | 3 ++- docker/docker-compose.extend.yml | 2 +- docker/run | 37 +++++++++++++++++++++++++++++++- 3 files changed, 39 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index d65d46ede..19bd14539 100644 --- a/.gitignore +++ b/.gitignore @@ -55,4 +55,5 @@ *.pyc __pycache__ node_modules -ietf/static/ietf/bootstrap \ No newline at end of file +ietf/static/ietf/bootstrap +/docker/docker-compose.extend-custom.yml \ No newline at end of file diff --git a/docker/docker-compose.extend.yml b/docker/docker-compose.extend.yml index a10a4f464..786bea64a 100644 --- a/docker/docker-compose.extend.yml +++ b/docker/docker-compose.extend.yml @@ -3,7 +3,7 @@ version: '3.8' services: app: ports: - - '8000:8000' + - 'CUSTOM_PORT:8000' volumes: - .:/workspace - /workspace/node_modules diff --git a/docker/run b/docker/run index 319d07166..9dc80ece5 100755 --- a/docker/run +++ b/docker/run @@ -1,7 +1,42 @@ #!/bin/bash +# Usage info +show_help() { + cat << EOF +Usage: ${0##*/} [-h] [-p PORT] +Run datatracker in dev containers using docker-compose. + + -h display this help and exit + -p PORT use custom HTTP port for datatracker + +EOF +} + +CUSTOM_PORT=8000 + +while getopts hp: opt; do + case $opt in + h) + show_help + exit 0 + ;; + p) + CUSTOM_PORT=$OPTARG + echo "Using custom port $CUSTOM_PORT..." + ;; + *) + CUSTOM_PORT=8000 + echo "Using port 8000..." + ;; + esac +done + +cp docker-compose.extend.yml docker-compose.extend-custom.yml +sed -i -r -e "s/CUSTOM_PORT/$CUSTOM_PORT/" docker-compose.extend-custom.yml cd .. -docker-compose -f docker-compose.yml -f docker/docker-compose.extend.yml up -d +docker-compose -f docker-compose.yml -f docker/docker-compose.extend-custom.yml up -d +docker-compose port db 3306 docker-compose exec app /bin/sh /docker-init.sh docker-compose stop cd docker +rm -f docker-compose.extend-custom.yml