Book Image

Docker for Serverless Applications

By : Chanwit Kaewkasi
Book Image

Docker for Serverless Applications

By: Chanwit Kaewkasi

Overview of this book

Serverless applications have gained a lot of popularity among developers and are currently the buzzwords in the tech market. Docker and serverless are two terms that go hand-in-hand. This book will start by explaining serverless and Function-as-a-Service (FaaS) concepts, and why they are important. Then, it will introduce the concepts of containerization and how Docker fits into the Serverless ideology. It will explore the architectures and components of three major Docker-based FaaS platforms, how to deploy and how to use their CLI. Then, this book will discuss how to set up and operate a production-grade Docker cluster. We will cover all concepts of FaaS frameworks with practical use cases, followed by deploying and orchestrating these serverless systems using Docker. Finally, we will also explore advanced topics and prototypes for FaaS architectures in the last chapter. By the end of this book, you will be in a position to build and deploy your own FaaS platform using Docker.
Table of Contents (15 chapters)
Title Page
Packt Upsell
Contributors
Preface
Index

Using Fn CLI


This section will discuss how to use the basics of the Fn CLI, a command line to control Fn. Let's start with the installation of the Fn CLI. Make sure that the curl command exists on your system:

$ curl -LSs https://raw.githubusercontent.com/fnproject/cli/master/install | sh

After installing the previous command, check its version and help by typing fn. The current version of the command line is 0.4.43 at the time of writing. Things move fast, so you can expect to use the different version anyway:

$ fn
fn 0.4.43

Fn command line tool

ENVIRONMENT VARIABLES:
   FN_API_URL - Fn server address
   FN_REGISTRY - Docker registry to push images to, use username only to push to Docker Hub - [[registry.hub.docker.com/]USERNAME]

COMMANDS:
...

There are several sub-commands provided by fn, for example:

  • fn start is a thin wrapper around the docker run command. This subcommand starts the new Fn Server instance. The default address will be http://localhost:8080. The Fn CLI will however be trying...