Terraform Docker provider
翻译准备中
开发工具GitHub @kreuzwerker自行安装运营者未确认
试用过了吗? 点一下就好,无需登录。
尚未收集仓库信息。
尚未检测到更新。GitHub 发布版本后会显示在这里。
制作者的介绍仅有上面的一句话。 更多详情请阅读仓库 README。 仓库 README ↗
正在加载完整 README。
查看完整 README ↗Sponsored by Coder
This provider covers more than basic Docker images and containers. With Terraform, you can manage:
docker_composedocker_image, docker_registry_image, and docker_tagdocker_buildx_builderdocker_servicedocker_container, docker_network, and docker_volumedocker_config, docker_secret, and docker_plugindocker_exec, docker_image_import, docker_image_load, docker_image_save, docker_container_export and docker_system_prune,Available data sources include images, image tags and manifests, containers, networks, plugins, and container logs. See the full provider documentation for the complete resource and data source list.
The documentation for the provider is available on the Terraform Registry.
You need at least Terraform 1.1.5 to use this provider.
Migration guides:
v3.x to v4.x? Please read the V3 - V4 migration guidev2.x to v3.x? Please read the V2 - V3 migration guideTake a look at the examples in the documentation of the registry or use the following example:
# Set the required provider and versions
terraform {
required_providers {
# We recommend pinning to the specific version of the Docker Provider you're using
# since new versions are released frequently
docker = {
source = "kreuzwerker/docker"
# or if you want to pull from opentfu
source = "registry.opentofu.org/kreuzwerker/docker"
version = "4.7.0"
}
}
}
# Configure the docker provider
provider "docker" {
}
# Create a docker image resource
# -> docker pull nginx:latest
resource "docker_image" "nginx" {
name = "nginx:latest"
keep_locally = true
}
# Create a docker container resource
# -> same as 'docker run --name nginx -p8080:80 -d nginx:latest'
resource "docker_container" "nginx" {
name = "nginx"
image = docker_image.nginx.image_id
ports {
external = 8080
internal = 80
}
}
# Or create a service resource
# -> same as 'docker service create -d -p 8081:80 --name nginx-service --replicas 2 nginx:latest'
resource "docker_service" "nginx_service" {
name = "nginx-service"
task_spec {
container_spec {
image = docker_image.nginx.repo_digest
}
}
mode {
replicated {
replicas = 2
}
}
endpoint_spec {
ports {
published_port = 8081
target_port = 80
}
}
}
Go 1.18.x (to build the provider plugin)
$ git clone [email protected]:kreuzwerker/terraform-provider-docker
$ make build
The Terraform Docker Provider is the work of many of contributors. We appreciate your help!
To contribute, please read the contribution guidelines: Contributing to Terraform - Docker Provider
The Terraform Provider Docker is available to everyone under the terms of the Mozilla Public License Version 2.0. Take a look the LICENSE file.