如何为Docker Cloud编写堆栈文件?

时间:2017-11-10 00:31:20

标签: amazon-web-services docker docker-compose dockerfile docker-stack

我的主要目标是通过docker cloud将我的 Laravel 5.1 网站部署到我的docker stack

  • 我已将DockerCloud帐户与我的AWS账户连接。
  • 我已经拥有:

    1. 搬运工-compose.yml
    2. app.dockerfile
    3. web.dockerfile

搬运工-compose.yml

version: '2'
services:
# The Application
app:
  build:
    context: ./
    dockerfile: app.dockerfile
  working_dir: /var/www
  volumes:
    - ./:/var/www
  environment:
    - "DB_PORT=3306"
    - "DB_HOST=45.55.88.57"

# The Web Server
web:
  build:
    context: ./
    dockerfile: web.dockerfile
  working_dir: /var/www
  volumes_from:
    - app
  ports:
    - 85:80
volumes:
dbdata:

app.dockerfile

FROM php:7.0.4-fpm
RUN apt-get update && apt-get install -y libmcrypt-dev \
      mysql-client libmagickwand-dev --no-install-recommends \
      && pecl install imagick \
      && docker-php-ext-enable imagick \
      && docker-php-ext-install mcrypt pdo_mysql

web.dockerfile

  FROM nginx:1.10
  ADD vhost.conf /etc/nginx/conf.d/default.conf

vhost.conf

 server {
      listen 80;
      index index.php index.html;
      root /var/www/public;

      location / {
          try_files $uri /index.php?$args;
      }

      location ~ \.php$ {
          fastcgi_split_path_info ^(.+\.php)(/.+)$;
          fastcgi_pass app:9000;
          fastcgi_index index.php;
          include fastcgi_params;
          fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
          fastcgi_param PATH_INFO $fastcgi_path_info;
      }
  }

结果

enter image description here

http://localhost:85

在本地工作完全罚款。

enter image description here

目标

enter image description here

使用我获得的所有docker文件,如何为Docker Cloud编写堆栈文件?

1 个答案:

答案 0 :(得分:0)

我会尝试Elastic Beanstalk。请看here。所以你需要将docker-compose.yml重做为Dockerrun.aws.json。