Docker Entrypoint
Learn how to use Infisical to inject environment variables into a Docker container.
This approach allows you to inject secrets from Infisical directly into your application. This is achieved by installing the Infisical CLI into your docker image and modifying your start command to execute with Infisical.
Add the Infisical CLI to your Dockerfile
We recommend you to set the version of the CLI to a specific version. This will help keep your CLI version consistent across reinstalls. View versions
Modify the start command in your Dockerfile
Starting your service with the Infisical CLI pulls your secrets from Infisical and injects them into your service.
Generate a machine identity
Generate a machine identity for your project by following the steps in the Machine Identity guide. The machine identity will allow you to authenticate and fetch secrets from Infisical.
Obtain an access token for the machine identity
Obtain an access token for the machine identity by running the following command:
Please note that the access token has a limited lifespan. The infisical token renew
command can be used to renew the token if needed.
Feed the access token to the docker container
The last step is to give the Infisical CLI installed in your Docker container access to the access token. This will allow the CLI to fetch and inject the secrets into your application.
To feed the access token to the container, use the INFISICAL_TOKEN environment variable as shown below.
Generate a machine identity
Generate a machine identity for your project by following the steps in the Machine Identity guide. The machine identity will allow you to authenticate and fetch secrets from Infisical.
Obtain an access token for the machine identity
Obtain an access token for the machine identity by running the following command:
Please note that the access token has a limited lifespan. The infisical token renew
command can be used to renew the token if needed.
Feed the access token to the docker container
The last step is to give the Infisical CLI installed in your Docker container access to the access token. This will allow the CLI to fetch and inject the secrets into your application.
To feed the access token to the container, use the INFISICAL_TOKEN environment variable as shown below.
Service tokens are being deprecated in favor of machine identities.
They will be removed in the future in accordance with the deprecation notice and timeline stated here.
Generate a service token
Head to your project settings in the Infisical dashboard to generate an service token. This service token will allow you to authenticate and fetch secrets from Infisical. Once you have created a service token with the required permissions, you’ll need to feed the token to the CLI installed in your docker container.
Feed service token to docker container
The last step is to give the Infisical CLI installed in your Docker container access to the service token. This will allow the CLI to fetch and inject the secrets into your application.
To feed the service token to the container, use the INFISICAL_TOKEN environment variable as shown below.