mirror of
https://github.com/kreuzwerker/terraform-provider-docker.git
synced 2026-02-03 20:29:30 -05:00
* feat: Add new tests for insecure registries. * chore: Refactor code into parseImageOptions and add tests. * feat: normalizeRegistryAddress supports http addresses. * feat: keys of authConfigs are now stored without protocol. * chore: Refactor of docker registry fallback in parseImageOptions. * refactor: Improve tests and implementation of parseImageOptions * feat: Implement support for http registries. * fix: authConfig unit tests now reflect newest structure. * fix: docker_image_registry data source can pull without authentication. * fix: Refactor setup of http headers for registry requests. * docs: Add note about http registries. * docs: Fix linting error in docs.
67 lines
No EOL
2.5 KiB
Cheetah
67 lines
No EOL
2.5 KiB
Cheetah
---
|
|
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
|
layout: ""
|
|
page_title: "Provider: Docker"
|
|
description: |-
|
|
The Docker provider is used to interact with Docker resources, like containers, images, service etc.
|
|
---
|
|
|
|
# Docker Provider
|
|
|
|
The Docker provider is used to interact with Docker containers and images.
|
|
It uses the Docker API to manage the lifecycle of Docker containers. Because
|
|
the Docker provider uses the Docker API, it is immediately compatible not
|
|
only with single server Docker but Swarm and any additional Docker-compatible
|
|
API hosts.
|
|
|
|
Use the navigation to the left to read about the available resources.
|
|
|
|
## Example Usage
|
|
|
|
Terraform 0.13 and later:
|
|
|
|
{{tffile "examples/provider/provider-tf13.tf"}}
|
|
|
|
Terraform 0.12 and earlier:
|
|
|
|
{{tffile "examples/provider/provider-tf12.tf"}}
|
|
|
|
-> **Note**
|
|
You can also use the `ssh` protocol to connect to the docker host on a remote machine.
|
|
The configuration would look as follows:
|
|
|
|
{{tffile "examples/provider/provider-ssh.tf"}}
|
|
|
|
## Registry credentials
|
|
|
|
Registry credentials can be provided on a per-registry basis with the `registry_auth`
|
|
field, passing either a config file or the username/password directly.
|
|
If you want to use an insecure http registry, please explicitly specify the `address` with the `http` protocol.
|
|
|
|
-> **Note**
|
|
The config file is loaded from the machine `terraform` runs on. This also applies when the specified docker host is on another machine.
|
|
|
|
{{tffile "examples/provider/provider-credentials.tf"}}
|
|
|
|
-> **Note**
|
|
When passing in a config file either the corresponding `auth` string of the repository is read or the os specific
|
|
[credential helpers](https://github.com/docker/docker-credential-helpers#available-programs) are
|
|
used to retrieve the authentication credentials.
|
|
|
|
-> **Note**
|
|
`config_file` has predence over all other options. You can theoretically specify values for every attribute but the credentials obtained through the `config_file` will override the manually set `username`/`password`
|
|
|
|
You can still use the environment variables `DOCKER_REGISTRY_USER` and `DOCKER_REGISTRY_PASS`.
|
|
|
|
An example content of the file `~/.docker/config.json` on macOS may look like follows:
|
|
|
|
{{codefile "json" "examples/provider/provider-docker-config.json"}}
|
|
|
|
## Certificate information
|
|
|
|
Specify certificate information either with a directory or
|
|
directly with the content of the files for connecting to the Docker host via TLS.
|
|
|
|
{{tffile "examples/provider/provider-cert.tf"}}
|
|
|
|
{{ .SchemaMarkdown | trimspace }} |