Terraform
- Terraform Enterprise
- 1.0.x (latest)
- 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-1
- 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
Flexible Deployment Options is available now
Terraform Enterprise can now be run natively on Docker with Flexible Deployment Options. The Docker Flexible Deployment Option allows for a faster installation and startup time, reduction in resource requirements, improved security and supports Docker Compose.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 containerd- On RHEL/CentOS: - sudo yum install containerd.io
- Confirm that the installed - containerdversion is 1.4.9, 1.5.5, or greater.- containerd --version
- Confirm that the installed - runcversion is v1.0.0-rc93 or greater:- runc --version
- If 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 libseccomp2- On RHEL/CentOS: - sudo yum install libseccomp
- Confirm that the installed - libseccompversion is 2.4.4 or greater.- runc --version
- If 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.json
- In 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.json- Docker 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.service
- Edit the drop-in - /etc/systemd/system/docker.servicesystemd unit file and modify the line starting with- ExecStart=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_RUNTIMES- Would become: - ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock --seccomp-profile=/etc/docker/seccomp.json $OPTIONS $DOCKER_STORAGE_OPTIONS $DOCKER_ADD_RUNTIMES
- Reload the systemd daemon. - sudo systemctl daemon-reload
- Restart Docker Engine. - sudo systemctl restart docker