当前位置: 首页 > 知识库问答 >
问题:

在docker下运行laravel 5时出错

林丁雷
2023-03-14

我试图在docker下安装laravel 5.0/mysql“5.5”/php_版本,但我无法在浏览器中定位并对应用程序进行种子设定:我有3个配置文件:docker-compose.yml:

version: '3.1'

services:

    youtube_api_demo_app:
        build:
            context: ./web
            dockerfile: Dockerfile.yml

        container_name: youtube_api_demo_app_container
        environment:
            - APACHE_RUN_USER=#1000
        volumes:
            - ${APP_PATH_HOST}:${APP_PTH_CONTAINER}
        ports:
            - 8085:80
        working_dir: ${APP_PTH_CONTAINER}


    db:
        image: mysql:5.5.62
        restart: always
        environment: 
            MYSQL_ROOT_PASSWORD: 1
        volumes:
            - ${DB_PATH_HOST}:/var/lib/mysql


    adminer:
        image: adminer
        restart: always
        ports:
            - 8086:8080
        links:
            - db


    youtube_api_demo_composer:
        image: composer:1.6
        container_name: youtube_api_demo_composer_container
        volumes:
            - ${APP_PATH_HOST}:${APP_PTH_CONTAINER}
        working_dir: ${APP_PTH_CONTAINER}
        command: composer install --ignore-platform-reqs

.env:

# PATHS
DB_PATH_HOST=./databases
APP_PATH_HOST=./YoutubeAPI_Demo
APP_PTH_CONTAINER=/var/www/html/

Web/Dockerfile.yml:

FROM php:5.6-apache
RUN apt-get update -y && apt-get install -y libpng-dev   nano  libmcrypt-dev
RUN docker-php-ext-install \
    pdo_mysql \
    mcrypt \
    && a2enmod \
    rewrite

和我的应用程序/YoutubeAPI_Demo/的env。env:

APP_NAME=LaravelAPP_ENV=本地APP_KEY=base 64:4 BRJbKtSQ7Z7yBVkYxe NxfLkVPBAG2Gm1I93Qwukc=APP_DEBUG=真APP_URL=http://127.0.0.1:8085/APP_SUBDIRECTORY=

LOG_通道=堆栈

DB_USERNAME=root DB_PASSWORD=1 DB_CONNECTION=mysql DB_HOST=127.0.0.1:8086 DB_PORT=:8086 DB_DATABASE=youtube_api_demo

我不确定我是否设置了有效的DB_HOST和DB_PORT参数,实际上我尝试了不同的。

1) 我构建了应用程序并进入控制台,但迁移时出错:

# php artisan migrate                                                           
  [PDOException]                             
  SQLSTATE[HY000] [2002] Connection refused

但我输入了adminer并创建了数据库:https://imgur.com/a/ePBfMiv

2) 在浏览器中输入http://127.0.0.1:8085/ 我得到一个错误:

You don't have permission to access / on this server.
Apache/2.4.25 (Debian) Server at 127.0.0.1 Port 8085 


 docker ps
CONTAINER ID        IMAGE                                  COMMAND                  CREATED             STATUS                          PORTS                    NAMES
a51ccd12ae40        adminer                                "entrypoint.sh docke…"   About an hour ago   Up About an hour                0.0.0.0:8086->8080/tcp   youtubeapi_demo_adminer_1
7f9ee8f14c9d        mysql:5.5.62                           "docker-entrypoint.s…"   About an hour ago   Up About an hour                3306/tcp                 youtubeapi_demo_db_1
b2c47edaf616        youtubeapi_demo_youtube_api_demo_app   "docker-php-entrypoi…"   About an hour ago   Up About an hour                0.0.0.0:8085->80/tcp     youtube_api_demo_app_container
3dcc1a4ce8f0        adminer                                "entrypoint.sh docke…"   5 weeks ago         Up 4 hours                      0.0.0.0:8083->8080/tcp   lprods_adminer_container
933d9fffaf76        postgres:9.6.10-alpine                 "docker-entrypoint.s…"   5 weeks ago         Up 4 hours                      0.0.0.0:5433->5432/tcp   lprods_db_container
2f73a600b999        adminer                                "entrypoint.sh docke…"   6 weeks ago         Up 4 hours                      0.0.0.0:8082->8080/tcp   votes_docker_adminer_1
52ea479b8791        mysql:5.6.41                           "docker-entrypoint.s…"   6 weeks ago         Restarting (1) 34 seconds ago                            votes_docker_db_1

配置选项中有什么错误?

谢谢

共有1个答案

傅明知
2023-03-14

1)在. env:你可以使用:

DB_CONNECTION=mysql
DB_HOST=db // THAT IS MYSQL container name
DB_PORT=3306

2) 尝试url

http://127.0.0.1:8085/public

使用通常的laravel 5 dirs设置

 类似资料:
  • 问题内容: 我尝试了以下文档以在Google云上运行node.js应用程序:https : //cloud.google.com/nodejs/getting-started/hello- world Node.js运行正常,但是如果我运行,我会…。 问题答案: 最新的Google Cloud SDK 0.9.65版本存在一个错误。 您可以使用以下命令还原到Cloud SDK 0.9.64: 下一

  • docker错误: PS C:\Windows\System32>docker运行测试错误:出现JNI错误,请检查线程“main”java.lang.noClassDeffounderRorr:javax/JMSException在java.lang.Class.GetDeclaredMethods0(本机方法)在java.lang.Class.GetDeclaredMethods(class.j

  • 我使用下面的命令来运行我的项目。 mvn清洁安装 我使用以下命令创建了一个数据库 创建数据库密钥斗篷;将keydeave.*上的所有特权授予“keydeave”@“%”; 我使用下面的命令创建了一个docker映像,并创建了一个映像。 码头工人建造-t钥匙斗篷。 当我使用Docker运行时, docker run-p 8080:8080-e DB_VENDOR=MYSQL-e DB_ADDR=19

  • Docker-compose.yml文件: 当尝试运行docker compose up时,我遇到了一个错误:我的docker Close版本是2.1.1 我得到了这个错误得到权限拒绝,而试图连接到Docker守护套接字unix://var/run/docker.sock:获取"超文本传输协议:///var/run/docker.sock/v1.24/containers/json?all=1

  • 除了上面的命令之外,我还尝试了 “sudo pm2 start npm--branch_env=stage node_env=production port=80 node appserverstart.js” 请救命! ----错误详细信息---- AppServerStart.js -----附加信息----服务器:CentOS Linux version 7 core,npm版本:6.4.1

  • 问题内容: 我知道关于在Windows上运行Docker有很多问题,但是这个问题是关于在Windows上运行全新的Windows Docker。 就我而言,我使用的是Windows 10 Pro 64位。根据站点,此版本应受支持。 我一直在遵循在这里找到的教程:https : //prakhar.me/docker-curriculum/ 我也尝试按照官方指南进行操作:https : //docs