Runlocal este un script bash care simulează funcționarea lui eb local run
. Așadar, dacă aveți un Dockerfile în proiect puteți să-l rulați cu ajutorul lui runlocal fără a avea nevoie de utilitarul eb.
Runlocal, construiește imagine din Dockerfile, lansează containerul și (opțional) urmărește log-ul containerului (cu opționea -f). Apoi curăță automat containerul și imaginea la ieșire (CTRL+C dacă urmăriți logurile).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
$ runlocal --help runlocal version 1.1 Usage: runlocal <path> [options...] path Dockerfile folder path; defaults to current folder optional arguments: -h, --help displays this help message -e VAR=VALUE set docker run env variables -v VOLUME set docker volumes/mounts -l CONTAINER link docker containers -p PORT map container ports: host:container -t TAG tag for the image -n NAME container name -w DELAY delay for cleaning up the container and tag; e.g. 45s, 10m, 12h -f follow container logs (same as docker logs -f) |
De asemenea puteți integra runlocal în propriul vostru script:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
#!/usr/bin/env bash #Host port PORT=32006 #App URI URI="http://192.168.99.100:${PORT}" #Launch command launch=$(which xdg-open || which gnome-open || which open) #Launch web browser "$launch" "$URI" #runlocal and follow logs runlocal -f \ -l postgres \ -l redis \ -e APP_ENV=test \ -e APP_DEBUG=true \ -e APP_URI="$URI" \ -e RDS_HOSTNAME="postgres" \ -e APP_REDIS_HOST="redis" \ -e APP_SESSIONS_DRIVER="redis" \ -e APP_SESSIONS_COOKIE_NAME="frontend" \ -p "${PORT}:80" |
Scriptul este disponibil ca un gist aici.