Skip to contentSkip to navigationSkip to topbar
Rate this page:
On this page

Use the Twilio CLI Docker image


The official Docker image(link takes you to an external page) for the Twilio CLI enables you to use the CLI in a portable and secure container-based environment without having to manage the installation yourself.


Before you begin

before-you-begin page anchor

In order to utilize the CLI Docker image, you will need to make sure you have Docker(link takes you to an external page) installed and running on your system. For installation instructions, see the Docker website(link takes you to an external page).


To run the Twilio CLI Docker image with an interactive bash shell, use:


_10
docker run -it --rm twilio/twilio-cli bash

Once the container has finished downloading, and you have entered the shell, you can issue commands using the CLI. For example:


_10
$ docker run -it --rm twilio/twilio-cli bash
_10
_10
root@1234:/twilio# twilio profiles:list
_10
ID Account SID Active
_10
you ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX true
_10
main ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX false

Run commands directly

run-commands-directly page anchor

It is also possible to pass commands directly to the Docker image for single, contained operations. For example, you can check the running version of the Twilio CLI with the following:


_10
$ docker run -it --rm twilio/twilio-cli twilio --version
_10
twilio-cli/3.0.0 linux-x64 node-v14.18.1


Provide credentials and configuration

provide-credentials-and-configuration page anchor

Since the container is cleaned up between each execution, it is useful to pass credentials and configuration directly to the Docker container instead of needing to use twilio login on each run.

Via environment variables

via-environment-variables page anchor

If you have your profile credentials set as environment variables, you can pass them directly to the Docker container. The environment variables will be picked up by the containerized version of the Twilio CLI:


_11
$ export TWILIO_ACCOUNT_SID=...
_11
$ export TWILIO_API_KEY=...
_11
$ export TWILIO_API_SECRET=...
_11
$ docker run -it --rm \
_11
-e TWILIO_ACCOUNT_SID \
_11
-e TWILIO_API_KEY \
_11
-e TWILIO_API_SECRET \
_11
twilio/twilio-cli twilio phone-numbers:list
_11
_11
SID Phone Number Friendly Name
_11
PNXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX +15558675310 (555) 867-5310

See the Docker run reference guide(link takes you to an external page) for more information about setting container environment variables.

Since the Twilio CLI stores your profile settings on your local file system, it's possible to share those settings with the Docker container by using Volumes(link takes you to an external page). Your profiles will be inherited by the Docker container, without the need to login.

To share your local configuration with the Docker container, mount your system's ~/.twilio-cli directory to the container at /root/.twilio-cli using the -v flag. See the Docker run reference guide(link takes you to an external page) for more information about the -v flag.

macOS and LinuxWindows PowerShell

On macOS and Linux, use:


_10
$ docker run -it --rm \
_10
-v ~/.twilio-cli:/root/.twilio-cli \
_10
twilio/twilio-cli twilio phone-numbers:list
_10
_10
SID Phone Number Friendly Name
_10
PNXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX +15558675310 (555) 867-5310


Run a specific version or tag

run-a-specific-version-or-tag page anchor

There are multiple versions of the Twilio CLI Docker image that you can use. To run a specific version, append the desired tag to your docker run command.

There are two types of tags:

  • latest - Sets the latest version of the Docker image, which we recommend. This is the default behavior of docker run, but you can choose to append it explicitly.


    _10
    docker run -it --rm twilio/twilio-cli:latest bash

  • <major.minor.patch> - Sets the container to run using a specific version of the Docker image.


    _10
    docker run -it --rm twilio/twilio-cli:2.36.1 bash


Update to the latest Docker image

update-to-the-latest-docker-image page anchor

The latest Docker image is only downloaded to your machine on the first execution of docker run. You need to manually pull the latest version of subsequent runs if you wish to use an updated image.

To download the latest Docker image and make it available locally, use:


_10
docker pull twilio/twilio-cli


Now that you have the Twilio CLI Docker image installed and understand its use:


Rate this page: