Terraform
- Terraform Enterprise
- 1.1.x (latest)
- 1.0.x
- v202507-1
- v202506-1
- v202505-1
- v202504-1
- v202503-1
- v202502-2
- v202502-1
- v202501-1
- v202411-2
- v202411-1
- v202410-1
- v202409-3
- v202409-2
- v202409-1
- No versions of this document exist before v202408-1. Click below to redirect to the version homepage.
- v202408-1
- v202407-1
- v202406-1
- v202405-1
- v202404-2
- v202402-2
- v202402-1
- v202401-2
- v202401-1
- v202312-1
- v202311-1
- v202310-1
- v202309-1
- v202308-1
- v202307-1
- v202306-1
- v202305-2
- v202305-1
- v202304-1
- v202303-1
- v202302-1
- v202301-2
- v202301-1
- v202212-2
- v202212-1
- v202211-1
- v202210-1
- v202209-2
- v202209-1
- v202208-3
- v202208-2
- v202208-1
- v202207-2
- v202207-1
- v202206-1
Docker Engine Requirements
Terraform Enterprise requires at least one of the following Docker Engine configurations, in order of preference:
- Docker Engine 24.x or 23.x
- Docker Engine 1.13.1 from the Extra Packages for Enterprise Linux (EPEL) repository using a modified
libseccompprofile.
Docker v20.10 is only supported on Amazon Linux 2. Docker v20.10 is no longer receiving updates from Docker, including security updates. Customers using Amazon Linux 2 are encouraged to move to an operating system that supports Docker 23 or 24. In order run Docker v20.10, you will need one of the following:
New online installations of Terraform Enterprise install a supported version of Docker Engine by default. Alternatively, you can install Docker Engine manually as long as you adhere to the above requirements.
Upgrades to Terraform Enterprise do not upgrade Docker Engine. It is your responsibility to keep Docker Engine up to date within these requirements to ensure stability and security.
Docker Compose Compatibility
Docker Engine comes prepackaged with Docker Compose and compatibility is assessed by meeting the Docker Engine requirements.
Docker 1.13.1 has a unique path for docker compose.
# Docker Engine 24.0
docker compose version
# Docker Engine 1.13.1
docker-compose version
Docker Compose should be accessible with the docker compose syntax. Modify your installation by renaming the docker compose binary to docker-compose and adjusting the path to the binary when installing Docker Engine 1.13.1.
Docker Engine With a Compatible runc Version
Install a supported Docker Engine version.
Install the latest version of
containerdfor your operating system.On Debian/Ubuntu:
sudo apt install containerdOn RHEL/CentOS:
sudo yum install containerd.ioConfirm that the installed
containerdversion is 1.4.9, 1.5.5, or greater.containerd --versionConfirm that the installed
runcversion is v1.0.0-rc93 or greater:runc --versionIf your Docker Engine and
runcversions meet the requirements from previous steps, your system is properly configured. Otherwise, proceed to option 2.
Docker Engine With a Compatible libseccomp Version
-> Note: These instructions should only be used if your operating system does not meet the requirements detailed in Docker Engine With a Compatible runc Version.
Install a supported Docker Engine version.
Install the latest version of
libseccompfor your operating system.On Debian/Ubuntu:
sudo apt install libseccomp2On RHEL/CentOS:
sudo yum install libseccompConfirm that the installed
libseccompversion is 2.4.4 or greater.runc --versionIf your Docker Engine and
libseccompversions meet the requirements from previous steps, your system is properly configured. Otherwise, proceed to option 3.
Docker Engine Using a Modified libseccomp Profile
-> Note: These instructions should only be used if your operating system does not meet the requirements detailed in either Docker Engine With a Compatible runc Version or Docker Engine With a Compatible libseccomp Version.
Install a supported Docker Engine version.
Check if the file
/etc/docker/seccomp.jsonexists. If it does, proceed to step 4.Download the default moby
libseccompprofile and save it to the file/etc/docker/seccomp.json.sudo curl -L -o /etc/docker/seccomp.json \ https://raw.githubusercontent.com/moby/moby/master/profiles/seccomp/default.jsonIn the
/etc/docker/seccomp.jsonfile, change"defaultAction": "SCMP_ACT_ERRNO",to"defaultAction": "SCMP_ACT_TRACE",.sudo sed -i 's/"defaultAction":\s*"SCMP_ACT_ERRNO"/"defaultAction": "SCMP_ACT_TRACE"/1' /etc/docker/seccomp.jsonDocker Engine 1.13.1 (RHEL only): After modifying the
/etc/docker/seccomp.jsonfile, proceed to step 8.Create a drop-in systemd unit file for the
dockersystemd service.sudo cp /lib/systemd/system/docker.service /etc/systemd/system/docker.serviceEdit the drop-in
/etc/systemd/system/docker.servicesystemd unit file and modify the line starting withExecStart=to include the option--seccomp-profile=/etc/docker/seccomp.json.For example, the following line:
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock $OPTIONS $DOCKER_STORAGE_OPTIONS $DOCKER_ADD_RUNTIMESWould become:
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock --seccomp-profile=/etc/docker/seccomp.json $OPTIONS $DOCKER_STORAGE_OPTIONS $DOCKER_ADD_RUNTIMESReload the systemd daemon.
sudo systemctl daemon-reloadRestart Docker Engine.
sudo systemctl restart docker