【问题标题】:nginx does not open localhost with VSCode Remote Containers Extension (docker compose)nginx 不使用 VSCode 远程容器扩展(docker compose)打开 localhost
【发布时间】:2019-12-17 06:04:21
【问题描述】:

localhost 无法从主机浏览器使用 Visual Studio 代码的远程容器扩展打开。

如果从VSCode命令Remote-Containers: Reopen in Container展开,在浏览器中打开http://localhost,会显示502 Bad Gateway

但是,如果你直接从主机执行命令,Laravel 顶部屏幕将打开http://localhost/

是否缺少远程容器设置?

docker-compose.yml

version: '3'

services: 
    php:
        container_name: php
        build: ./docker/php
        volumes: 
            - ./server:/var/www

    nginx:
        image: nginx
        container_name: nginx
        ports: 
            - 80:80
        volumes: 
            - ./server:/var/www
            - ./docker/nginx/default.conf:/etc/nginx/conf.d/default.conf
        depends_on: 
            - php

    db:
        image: mysql:8.0
        container_name: db-host
        environment: 
            MYSQL_ROOT_PASSWORD: root
            MYSQL_DATABASE: database
            MYSQL_USER: docker
            MYSQL_PASSWORD: docker
            TZ: 'Asia/Tokyo'
        command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
        volumes: 
            - ./docker/db/data:/var/lib/mysql
            - ./docker/db/my.conf:/etc/mysql/conf.d/my.cnf
            - ./docker/db/sql:/docker-entrypoint-initdb.d
        ports:
            - 3306:3306

php-dockerfile

FROM php:7.3-fpm
COPY php.ini /usr/local/etc/php/

RUN apt-get update \
    && apt-get install -y libzip-dev \
    && docker-php-ext-install zip pdo_mysql

#Composer install
RUN php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
RUN php -r "if (hash_file('sha384', 'composer-setup.php') === 'a5c698ffe4b8e849a443b120cd5ba38043260d5c4023dbf93e1558871f1f07f58274fc6f4c93bcfd858c6bd0775cd8d1') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
RUN php composer-setup.php
RUN php -r "unlink('composer-setup.php');"
RUN mv composer.phar /usr/local/bin/composer

ENV COMPOSER_ALLOW_SUPERUSER 1

ENV COMPOSER_HOME /composer

ENV PATH $PATH:/composer/vendor/bin


WORKDIR /var/www

RUN composer global require "laravel/installer"

nginx 错误日志

 [error] 7#7: *1 connect() failed (111: Connection refused) while connecting to upstream, client: 172.18.0.1, server: , request: "GET / HTTP/1.1", upstream: "fastcgi://172.18.0.2:9000", host: "localhost"

【问题讨论】:

    标签: php docker nginx visual-studio-code docker-compose


    【解决方案1】:

    通过修改这个文件解决了。

    .devcontainer/docker-compose.yml 注释掉的是command: ...

        # Overrides default command so things don't shut down after the process ends.
        # command: /bin/sh -c "while sleep 1000; do :; done"
    

    【讨论】:

      猜你喜欢
      • 2020-12-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多