3ee4f5f Jun 5, 2018
2 contributors

Users who have contributed to this file

@rudygodoy @tyzbit
68 lines (46 sloc) 1.85 KB

Docker Instructions


For development or testing, or to spin up a btcd backend alongside lnd, check out the documentation at docker/


To use Docker in a production environment, you can run lnd by first creating a Docker container, adding the appropriate command-line options as parameters.

$ docker create --name=lnd lightninglabs/lnd [command-line options]

Then, just start the container:

$ docker start lnd


A Docker volume will be created with your .lnd directory automatically, and will persist through container restarts.

You can also optionally manually specify a local folder to be used as a volume:

$ docker create --name=lnd -v /media/lnd-docker/:/root/.lnd lightninglabs/lnd [command-line options]


Here is an example testnet lnd that uses Neutrino:

$ docker create --name lnd-testnet lightninglabs/lnd --bitcoin.testnet --bitcoin.node=neutrino

Start the container:

$ docker start lnd-testnet

Create a wallet (and write down the seed):

$ docker exec -it lnd-testnet lncli create

Confirm lnd has begun to synchronize:

$ docker logs lnd-testnet
2018-05-01 02:28:01.201 [INF] RPCS: RPC server listening on
2018-05-01 02:28:01.201 [INF] LTND: Waiting for chain backend to finish sync, start_height=2546
2018-05-01 02:28:01.201 [INF] RPCS: gRPC proxy started at
2018-05-01 02:28:08.999 [INF] LNWL: Caught up to height 10000
2018-05-01 02:28:09.872 [INF] BTCN: Processed 10547 blocks in the last 10.23s (height 10547, 2012-05-28 05:02:32 +0000 UTC)

This is a simple example, it is possible to use any command-line options necessary to expose RPC ports, use btcd or bitcoind, or add additional chains.