AWS在EC2实例上的Docker中启动示例Webite

时间:2019-10-15 23:56:12

标签: docker amazon-ec2 ansible

我需要一些使用ansible在ec2实例中的docker中部署简单网站的帮助。 目前,我有一本提供ec2实例的剧本,但我希望能够安装docker和apache服务器并部署一个简单的网站。例如,只是一个简单的网页打招呼,所以我知道它在工作。我不确定该怎么做

- name: deploy Ec2 Instances
  hosts: localhost
  connection: local
  gather_facts: true

  tasks:
  - name: Launch ec2 instance
    ec2:
      instance_type: t2.micro
      key_name: mykeypair
      image: ami-00eb20669e0990cb4
      region: us-east-1
      group: default
      count: 1
      vpc_subnet_id: subnet-ed43648a
      wait: yes

1 个答案:

答案 0 :(得分:0)

以下简化的方法应满足您的需求:

编辑(对于该apache示例,不需要自定义Dockerfile)!

您可以在docker-compose.yml文件中引用apache(该文件必须位于相对于您的剧本文件的文件或模板目录中):

version: '3.7'
services:
  apache:
    image: httpd:2.4-alpine
    ports:
      - "80:80"

将以下任务添加到您的游戏中:

# you probably have to create your Docker Directories first and check for existence of your files on the host

...

- name: "transfer dockerfiles for service"
  template:
    src: docker-compose.yml
    dest: "/home/ec2-user/deploy/apache/docker-compose.yml"
    mode: 0755
    trim_blocks: no

- name: "(re)start service"
  shell: |
    cd /home/ec2-user/deploy/apache
    docker-compose up --build -d

完成本手册后,您可以在主机本身上简单地卷曲localhost / index.html。