我是Terraform的初学者,我正在寻求帮助。我尝试使用谷歌,但我找不到适合我的解决方案。
我有 Debian 8 服务器。我成功地安装了Docker和terraform。现在我需要使用 ubuntu 创建 docker 容器,并使用 Terraform 设置对此容器的 ssh 访问。我的地形配置用于创建 docker 容器,将映像和提供程序设置为 docker,但我找不到如何设置 ssh 访问或配置一些额外的软件。
地形配置:
# Configure the Docker provider
provider "docker" {
host = "tcp://127.0.0.1:2376/"
}
# Definition of ubuntu image
resource "docker_image" "ubuntu" {
name = "ubuntu:latest"
}
# Create a container
resource "docker_container" "Ubn_Con" {
image = "${docker_image.ubuntu.latest}"
name = "Ubn_Con"
}
感谢您的任何帮助。
docker_container
资源有一个名为network_data
的属性,该属性具有ip_address
。这是容器的 IP 地址,因此您可以将其与 SSH 一起使用。
但是,Jan Mesarc是正确的,您不需要SSH到容器中即可使用软件进行设置(或者实际上,实际上,这是一个更长的故事(。相反,您可以使用 Dockerfile 为要从中启动的容器创建映像。
例如:
FROM ubuntu:latest
RUN apt-get update &&
apt-get install -y curl
然后使用docker build . -t ubuntu-curl:0.0.1
构建该映像,并将其上传到 Dockerhub。如果要使用其他注册表,只需将值更改为-t
以包含完整的 URL。
然后,您可以在docker_image
资源中使用该映像:
resource "docker_image" "ubuntu" {
name = "ubuntu-curl:0.0.1"
}