How can I access Docker environment variables from a cron job?

Better Stack Team
Updated on October 5, 2023

To access Docker environment variables from a cron job, you can use the -e option when running the docker run command to pass the environment variables to the container, and then use them in your cron job command.

🔭 Want to get alerted when your Cron doesn’t run correctly?

Go to Better Stack and start monitoring in 5 minutes.

Here's an example of how you can do it:

  • Define your environment variable(s) when running your Docker container:
docker run -e VAR_NAME=VAR_VALUE my-docker-image
  • In your cron job command, use the environment variable(s) like this:
0 0 * * * /usr/bin/env VAR_NAME=$VAR_NAME /path/to/command

This will set the VAR_NAME environment variable for the env command, which will then be available for the rest of the command. Replace /path/to/command with the command you want to run.

Here's a breakdown of the format:

  • The first 0 represents the minute (0-59)
  • The second 0 represents the hour (0-23)
  • The * in the third, fourth, and fifth positions represent the day of the month, the month, and the day of the week (respectively). Using * means the job will run every day of the month, every month, and every day of the week.
  • The sixth field is the command to be executed.
  • The /usr/bin/env command is used to set the environment variable for the command that follows.
  • The VAR_NAME=$VAR_NAME sets the environment variable in the command. Replace VAR_NAME with the name of the environment variable you want to use.

So the cron job in the above format will run the command with the environment variable defined in the Docker container.

Make your mark

Join the writer's program

Are you a developer and love writing and sharing your knowledge with the world? Join our guest writing program and get paid for writing amazing technical guides. We'll get them to the right readers that will appreciate them.

Write for us
Writer of the month
Marin Bezhanov
Marin is a software engineer and architect with a broad range of experience working...
Build on top of Better Stack

Write a script, app or project on top of Better Stack and share it with the world. Make a public repository and share it with us at our email.

or submit a pull request and help us build better products for everyone.

See the full list of amazing projects on github