首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Terraform,docker,Debian 8

Terraform,docker,Debian 8
EN

Stack Overflow用户
提问于 2017-08-16 04:26:03
回答 1查看 273关注 0票数 0

我是Terraform的初学者,我正在寻求帮助。我试着用谷歌,但我找不到解决方案。

我有Debian 8服务器。我成功地安装了docker和terraform。现在我需要使用ubuntu创建docker容器,并使用Terraform设置对此容器的ssh访问。我的terraform配置是用于创建docker容器,将镜像和提供者设置为docker,但我找不到如何设置ssh访问它或配置一些额外的软件。

Terraform配置:

代码语言:javascript
复制
# 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"
} 

谢谢你的帮助。

EN

回答 1

Stack Overflow用户

发布于 2020-03-17 18:57:15

docker_container资源有一个名为network_data的属性,该属性具有ip_address。这是您的容器的IP地址,因此您可以将其与SSH一起使用。

然而,Jan Mesarc是正确的,您不需要通过SSH进入容器来使用软件进行设置(或者永远,实际上,但这是一个更长的故事)。相反,您可以使用Dockerfile为从中调出的容器创建一个镜像。

例如:

代码语言:javascript
复制
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资源中使用该图像:

代码语言:javascript
复制
resource "docker_image" "ubuntu" {
  name = "ubuntu-curl:0.0.1"
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45701003

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档