Поставщик Docker, кажется, не работает из коробки. Сначала вам нужно сгенерировать сертификаты. Есть опыт работы с ним на AWS?

смотрел все и не могу найти последовательный ресурс, который описывает, как это сделать прямо. У меня есть такой проект:

./
 |-src/
 |--..
 |--Dockerfile
 |-docker-compose.yaml

Файл конфигурации terraform, как это:

variable "do_token" {}

# Configure the DigitalOcean Provider
provider "digitalocean" {
  token = "${var.do_token}"
}

# Create a web server
resource "digitalocean_droplet" "web" {
  # ...
}

Я хочу быть в состоянии сделать что-то вроде

provider "digitalocean" {
    ip = <my-ip>
    # docker-compose up ?
}

Мой файл compose правильно устанавливает архитектуру приложения. Я просто хочу, чтобы способ развернуть это в данный ящик где-то в цифровом океане (через IP предпочтительно) и запуститьdocker-compose up, Как я могу это сделать?

 TJ Biddle28 дек. 2017 г., 15:07
docker-compose - это инструмент разработки; использовать Рой для производства, а не сочинять.

Ответы на вопрос(1)

Provisioners

Терраформ имеетprovisioners которые позволяют копировать файлы и выполнять скрипты при создании ресурса.

resource "digitalocean_droplet" "web" {
  # ...

  provisioner "file" {
    source      = "compose-app/"
    destination = "/app"
  }

  provisioner "remote-exec" {
    inline = [
      "cd /app",
      "docker-compose up",
    ]
  }
}

Шеф-повар также может быть использован ссоставить кулинарную книгу

докер

Терраформ имеет равнинуДокер провайдер но не управляет определениями Compose или Swarm из коробки, поэтому вам нужно будет определять вашу среду compose по частям втома, сети, картинки, контейнеры).

provider "docker" {
  host = "tcp://droplet:2375/"
}
resource "docker_image" "myapp" {
  name = "me/myapp:1.0.0"
}
resource "docker_container" "myapp" {
  name = "myapp"
  image = "${docker_image.myapp.latest}"
  ports {
    internal = 1234
    external = 1234
  }
}
Kubernetes

Для развертывания реальных приложений С Terraform вам, вероятно, лучше использоватьKubernetes провайдер это позволит вам настроитьконтроллер репликации бежатьстручки которые доступны какСервисы на докере. Это потребует запуска кластера Kubernetes и написания определения Kubernetes,Kompose может помочь конвертация из Docker Compose.

 Zzokk05 мар. 2018 г., 23:11
Поставщик Docker, кажется, не работает из коробки. Сначала вам нужно сгенерировать сертификаты. Есть опыт работы с ним на AWS?

Ваш ответ на вопрос