Introducing our new CEO Don Johnson - Read More

hashicorp/boundary

Verified Publisher

By HashiCorp, Inc.

Updated 2 days ago

Boundary provides simple and secure access to hosts and services.

Image
API Management
Integration & Delivery
Security
18

10M+

Usage

See the latest updates to the Dockerfile for this image in our GitHub repository.

Dev Mode

Due to the limitations of boundary dev running and maintaining a postgres docker container, it's not recommended to run dev mode inside docker. To do so will require knowledge of running docker-in-docker, and the caveats associated with it.

Default Configuration

The default behavior of the Boundary docker image is to run boundary server -config /boundary/config.hcl. The default configuration can be found in this directory and it's highly recommended that end users replace this configuration with one that suites their environment.

Postgres

The usage instructions in this README assume you have an external postgres database (version 11 or greater) to run boundary server with. If you want to get started quickly, you can start a local postgres in docker:

docker run -it -p 5432:5432 -e POSTGRES_PASSWORD=postgres -e POSTGRES_USER=postgres postgres

The postgres URL setting is defined with env://BOUNDARY_POSTGRES_URL so it can be easily overidden with -e during docker run:

docker run <truncated> -e 'BOUNDARY_POSTGRES_URL=postgresql://postgres:postgres@0.0.0.0:5432/postgres?sslmode=disable' <truncated>

Database Init

If you're starting with a new, unused postgres instance, initialize the database using the default config.hcl:

docker run \
  --network host \
  -e 'BOUNDARY_POSTGRES_URL=postgresql://postgres:postgres@0.0.0.0:5432/postgres?sslmode=disable' \
  boundary database init -config /boundary/config.hcl

If you want to run this with your own config.hcl (assuming config.hcl is located at $(pwd)/config.hcl):

docker run \
  --network host \
  -e 'BOUNDARY_POSTGRES_URL=postgresql://postgres:postgres@0.0.0.0:5432/postgres?sslmode=disable' \
  -v "$(pwd)":/boundary/ \
  boundary database init -config /boundary/config.hcl
Server

Start a Boundary server using the default config.hcl:

docker run \
  --network host \
  -p 9200:9200 \
  -p 9201:9201 \
  -p 9202:9202 \
  -e 'BOUNDARY_POSTGRES_URL=postgresql://postgres:postgres@0.0.0.0:5432/postgres?sslmode=disable' \
  boundary

Start a Boundary server using your own config.hcl, assuming it's located at $(pwd)/config.hcl:

docker run \
  --network host \
  -p 9200:9200 \
  -p 9201:9201 \
  -p 9202:9202 \
  -v "$(pwd)":/boundary/ \
  -e 'BOUNDARY_POSTGRES_URL=postgresql://postgres:postgres@0.0.0.0:5432/postgres?sslmode=disable' \
  boundary

Docker Pull Command

docker pull hashicorp/boundary