--- title: "Docker" --- Infisical can be used in a Dockerfile to inject environment variables into a Docker container. ## Add the CLI to your Dockerfile ```dockerfile RUN apk add --no-cache bash curl && curl -1sLf \ 'https://dl.cloudsmith.io/public/infisical/infisical-cli/setup.alpine.sh' | bash \ && apk add infisical ``` ```dockerfile RUN curl -1sLf \ 'https://dl.cloudsmith.io/public/infisical/infisical-cli/setup.rpm.sh' | sh \ && yum install -y infisical ``` ```dockerfile RUN apt-get update && apt-get install -y bash curl && curl -1sLf \ 'https://dl.cloudsmith.io/public/infisical/infisical-cli/setup.deb.sh' | bash \ && apt-get update && apt-get install -y infisical ``` ## Modify the start command in your Dockerfile ```dockerfile CMD ["infisical", "--env=[env]", "projectId=[projectId]", "run", "---", "[your application start command]"] # example CMD ["infisical", "--env=prod", "projectId=62faf98ae0b05e83239b5da41", "run", "---", "npm run start"] ``` Required options: | Option | Description | Default value | | ------------- | ----------------------------------------------------------------------------------------------------------- | ------------- | | `--env` | Used to set the environment that secrets are pulled from. Accepted values: `dev`, `staging`, `test`, `prod` | `dev` | | `--projectId` | Used to link a local project to the platform | `None` | ## Generate an Infisical Token [Generate an Infisical Token](../../getting-started/dashboard/token) and keep it handy. ## Feed Docker your Infisical Token The CLI looks out for an environment variable called `INFISICAL_TOKEN`. If the token is detected, the CLI will authenticate, retrieve, and inject the environment variables which the token is authorized for. ```bash docker run --env INFISICAL_TOKEN=[token]... ```