Skip to content
Snippets Groups Projects
Commit 272bfe05 authored by Alex Ellis's avatar Alex Ellis Committed by GitHub
Browse files

Update troubleshooting.md

parent 41da1afe
No related branches found
No related tags found
No related merge requests found
# Troubleshooting guide
## Watchdog
### Debug your function without deploying it
Here's an example of how you can deploy a function without using an orchestrator - it's useful for testing:
```
$ docker run --name debug-alpine \
-p 8081:8080 -ti functions/alpine:latest sh
# fprocess=date fwatchdog &
```
Now you can access the function with one of the supported HTTP methods such as GET/POST etc:
```
$ curl -4 localhost:8081
```
### Edit your function without rebuilding it
You can bind-mount code straight into your function and work with it locally, until you are ready to re-build. This is a common flow with containers, but should be used sparingly.
Within the CLI directory for instance:
Build the samples:
```
$ git clone https://github.com/alexellis/faas-cli && \
cd faas-cli
$ faas-cli -action build -f ./samples.yml
```
Now work with the Python-hello sample, with the code mounted live:
```
$ docker run -v `pwd`/sample/url-ping/:/root/function/ \
--name debug-alpine -p 8081:8080 -ti alexellis/faas-url-ping sh
$ touch ./function/__init__.py
# fwatchdog
```
Now you can start editing the code in the sample/url-ping folder and it will reload live for every request.
```
$ curl localhost:8081 -d "https://www.google.com"
Handle this -> https://www.google.com
https://www.google.com => 200
```
Now you can edit handler.py and you'll see the change immediately:
```
$ echo "def handle(req):" > sample/url-ping/handler.py
$ echo ' print("Nothing to see here")' >> sample/url-ping/handler.py
$ curl localhost:8081 -d "https://www.google.com"
Nothing to see here
```
## Docker Swarm
### List all functions
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment