我需要一些使用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
答案 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。