与Docker合作的Laravel项目

与Docker合作的Laravel项目,laravel,docker,nginx,docker-compose,Laravel,Docker,Nginx,Docker Compose,我将遵循以下教程: 当我运行命令docker compose up-d并在浏览器中打开时,我收到此错误消息“无法连接”。 我认为问题在于nginx laravel.conf的配置 我试着只对HTTP应用一些测试,但我无法让它工作。 提前谢谢 [DockerFile] # Set master image FROM php:7.2-fpm-alpine # Copy composer.lock and composer.json COPY composer.lock composer.json

我将遵循以下教程:

当我运行命令docker compose up-d并在浏览器中打开时,我收到此错误消息“无法连接”。 我认为问题在于nginx laravel.conf的配置 我试着只对HTTP应用一些测试,但我无法让它工作。 提前谢谢

[DockerFile]

# Set master image
FROM php:7.2-fpm-alpine

# Copy composer.lock and composer.json
COPY composer.lock composer.json /var/www/html/

# Set working directory
WORKDIR /var/www/html

# Install Additional dependencies
RUN apk update && apk add --no-cache \
    build-base shadow vim curl \
    php7 \
    php7-fpm \
    php7-common \
    php7-pdo \
    php7-pdo_mysql \
    php7-mysqli \
    php7-mcrypt \
    php7-mbstring \
    php7-xml \
    php7-openssl \
    php7-json \
    php7-phar \
    php7-zip \
    php7-gd \
    php7-dom \
    php7-session \
    php7-zlib

# Add and Enable PHP-PDO Extenstions
RUN docker-php-ext-install pdo pdo_mysql
RUN docker-php-ext-enable pdo_mysql

# Install PHP Composer
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer

# Remove Cache
RUN rm -rf /var/cache/apk/*

# Add UID '1000' to www-data
RUN usermod -u 1000 www-data

# Copy existing application directory permissions
COPY --chown=www-data:www-data . /var/www/html

# Change current user to www
USER www-data

# Expose port 9000 and start php-fpm server
EXPOSE 9000
CMD ["php-fpm"]
[码头工人撰写]

version: '3'
services:

  #Laravel App
  app:
    build:
      context: .
      dockerfile: Dockerfile
    image: hakase-labs/laravel
    container_name: app
    restart: unless-stopped
    tty: true
    environment:
      SERVICE_NAME: app
      SERVICE_TAGS: dev
    working_dir: /var/www/html
    volumes:
      - ./:/var/www/html
    networks:
      - mynet

  #Nginx Service
  nginx:
    image: nginx:alpine
    container_name: nginx
    restart: unless-stopped
    tty: true
    ports:
      - "8081:80"
      - "8082:443"
    volumes:
      - ./:/var/www/html
      - ./nginx/conf.d/:/etc/nginx/conf.d/
      - ./nginx/ssl/:/etc/nginx/ssl/
      - ./nginx/logs/:/var/log/nginx/
    networks:
      - mynet

  #MySQL Service
  db:
    image: mysql:5.7
    container_name: db
    restart: unless-stopped
    tty: true
    ports:
      - "3306:3306"
    environment:
      MYSQL_DATABASE: laraveldb
      MYSQL_USER: laravel
      MYSQL_PASSWORD: laravelpassworddb
      MYSQL_ROOT_PASSWORD: rootpasswordmysql
    volumes:
      - mysqldata:/var/lib/mysql/
    networks:
      - mynet

#Docker Networks
networks:
  mynet:
    driver: bridge
#Volumes
volumes:
  mysqldata:
    driver: local

我的名声还不到50,我不能评论。我在问,您是否将ssl添加到它指定的路径

sudo cp /path/to/ssl/fullchain.pem nginx/ssl/

sudo cp /path/to/ssl/privkey.pem nginx/ssl/

您是否按原样复制和粘贴?或者您已经添加了ssl的路径?

我使用openSSL生成证书。这两行不正确。让我编辑最初的帖子
sudo cp /path/to/ssl/fullchain.pem nginx/ssl/

sudo cp /path/to/ssl/privkey.pem nginx/ssl/