ฉันต้องการให้ผู้เข้าชมอัปโหลดแอป laravel ไปยังเซิร์ฟเวอร์ของฉันได้ และฉันต้องการเรียกใช้แต่ละแอปในคอนเทนเนอร์นักเทียบท่า และฉันยังต้องการให้พวกเขาสามารถเข้าถึงฐานข้อมูลได้ Dockerfile ปัจจุบันของฉันเป็นเช่นนั้น แต่เมื่อฉันเรียกใช้ docker exec -i myContainer echo "create database laravel3" | mysql จากนั้นนักเทียบท่า exec -i test30f php artisan โยกย้าย ฉันได้รับข้อผิดพลาดการเชื่อมต่อถูกปฏิเสธ
ไฟล์ Docker ของฉันคือ:
จาก mysql:5.7
ENV MYSQL_ALLOW_EMPTY_PASSWORD จริง
เปิดเผย 3306
CMD ["mysqld"]
จาก php:7.4-fpm-อัลไพน์
RUN docker-php-ext-install ซ็อกเก็ต pdo pdo_mysql
RUN curl -sS https://getcomposer.org/installer<200b> | php -- \
--install-dir=/usr/local/bin --filename=composer
COPY --from=composer:latest /usr/bin/composer /usr/bin/composer
เวิร์คดีอาร์ /app
สำเนา /แอป
ติดตั้งตัวแต่ง RUN
RUN cp .env.example .env && php artisan คีย์:สร้าง
CMD php ช่างฝีมือ --host=0.0.0.0 --port=8000
เปิดเผย 8000
.env ของฉัน
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel3
DB_USERNAME=ราก
DB_PASSWORD=