将 Docker 容器部署到 Heroku - 究竟是在部署什么?

时间:2021-04-06 12:28:42

标签: docker heroku

我对 Heroku 和 Docker 都很陌生,正在将 Laravel 应用从 Docker 容器部署到 Heroku。

根据我下面的设置,在本地,我在一个容器中运行了三个图像。一切都很棒。

当我推送到 Heroku 时,我使用以下命令:

#heroku container:login

#heroku container:push web --app bmbx-inventory

#heroku container:release web --app bmbx-inventory

我的问题是:我只是使用上述命令推送网络应用程序图像还是仍在推送整个配置?

我的想法是它只使用 Web 应用程序图像,我应该使用不同的 mysql 连接,例如 cleardb。

这是我的配置:

Docker 文件:

FROM php:7
RUN apt-get update -y && apt-get install -y openssl zip unzip git
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
RUN docker-php-ext-install pdo pdo_mysql
WORKDIR /app
COPY . /app
RUN composer install
CMD php artisan serve --host=0.0.0.0 --port=$PORT
EXPOSE 8181

docker-compose.yml:

version: '2'
services:
  web:
    build: .
    ports:
      - "8009:8000"
    volumes:
      - .:/app
    env_file: .env
    working_dir: /app
    command: bash -c 'php artisan migrate && php artisan serve --host 0.0.0.0'
    depends_on:
      - db
    links:
      - db
  db:
    image: "mysql:5.7"
    environment:
      - MYSQL_ROOT_PASSWORD={pass}
      - MYSQL_DATABASE={dbname}
      - MYSQL_USER=root
      - MYSQL_PASSWORD={pass}
    volumes:
      - ./data/:/var/lib/mysql
    ports:
      - "3306:3306"
  phpmyadmin:
    depends_on:
      - db
    image: phpmyadmin/phpmyadmin
    restart: always
    ports:
      - 8090:80
    environment:
      PMA_HOST: db
      MYSQL_ROOT_PASSWORD: {mypass}

0 个答案:

没有答案
相关问题