ขณะนี้ฉันกำลังพยายามเชื่อมต่อแอปพลิเคชัน Laravel ฉันได้สร้าง Dockerfile และ docker-compose.yml ด้วยการอ้างอิงที่ฉันต้องการ อย่างไรก็ตาม ฉันกำลังดิ้นรนเพื่อให้ php-fpm เริ่มทำงานซึ่งจะแสดงแอปพลิเคชันของฉัน
ไฟล์นักเทียบท่า
# ตั้งค่าภาพหลัก
จาก php:8.0-fpm-อัลไพน์
# คัดลอกผู้แต่งล็อคและนักแต่งเพลง json
คัดลอกผู้แต่ง ล็อคผู้แต่ง json /var/www/html/
# ตั้งค่าไดเร็กทอรีการทำงาน
เวิร์กดีอาร์ /var/www/html
# ติดตั้งการพึ่งพาเพิ่มเติม
RUN อัปเดต apk && apk เพิ่ม --no-cache \
สร้างฐานเงา vim curl \
php8 \
php8-fpm \
php8-ทั่วไป \
php8-pdo \
php8-pdo_mysql \
php8-mysqli \
php8-mbstring \
php8-xml \
php8-openssl \
php8-json \
php8-ฟาร์ \
php8-zip \
php8-gd \
php8-โดม \
php8 เซสชัน \
php8-zlib \
โหนด \
npm
# เพิ่มและเปิดใช้งานส่วนขยาย PHP-PDO
RUN นักเทียบท่า-php-ext-install pdo pdo_mysql
RUN docker-php-ext-enable pdo_mysql
# ติดตั้ง PHP นักแต่งเพลง
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=ผู้แต่ง
# ลบแคช
เรียกใช้ rm -rf /var/cache/apk/*
# เพิ่ม UID '1,000' ใน www-data
RUN usermod -u 1,000 www-ข้อมูล
# คัดลอกการอนุญาตไดเรกทอรีแอปพลิเคชันที่มีอยู่
คัดลอก --chown=www-data:www-data /var/www/html
# เปลี่ยนผู้ใช้ปัจจุบันเป็น www
USER www-ข้อมูล
# ติดตั้งการพึ่งพาแอพ
คัดลอก package.json /var/www/html/
ติดตั้ง RUN npm
RUN npm รัน dev
# เปิดเผยพอร์ต 9000 และเริ่มเซิร์ฟเวอร์ php-fpm
เปิดเผย 9000
CMD ["php-fpm"]
นักเทียบท่า-compose.yml
รุ่น: '3'
บริการ:
#แอพ Laravel
แอป:
สร้าง:
บริบท: .
นักเทียบท่าไฟล์: Dockerfile
ภาพ: heychazza/joinservers.com
container_name: แอป
รีสตาร์ท: เว้นแต่จะหยุด
tty: จริง
สิ่งแวดล้อม:
SERVICE_NAME: แอป
SERVICE_TAGS: ผู้พัฒนา
working_dir: /var/www/html
เปิดเผย:
- "9000:80"
ปริมาณ:
- ./:/var/www/html
เครือข่าย:
- ไมเน็ต
#บริการงินซ์
จิงซ์:
ภาพ: nginx:alpine
ชื่อคอนเทนเนอร์: nginx
รีสตาร์ท: เว้นแต่จะหยุด
tty: จริง
พอร์ต:
- "8080:80"
ปริมาณ:
- ./:/var/www/html
- ./deployment/nginx/conf.d/:/etc/nginx/conf.d/
#- ./nginx/ssl/:/etc/nginx/ssl/
ขึ้นอยู่กับ:
- แอป
เครือข่าย:
- ไมเน็ต
บริการ #MySQL
ฐานข้อมูล:
ภาพ: mariadb:ล่าสุด
ชื่อคอนเทนเนอร์: ฐานข้อมูล
รีสตาร์ท: เว้นแต่จะหยุด
tty: จริง
พอร์ต:
- "33060:3306"
สิ่งแวดล้อม:
MYSQL_DATABASE: laraveldb
MYSQL_USER: laravel
MYSQL_PASSWORD: laravelpassworddb
MYSQL_ROOT_PASSWORD: rootpasswordmysql
MYSQL_ROOT_HOST: '%'
ปริมาณ:
- mysqldata:/var/lib/mysql/
เครือข่าย:
- ไมเน็ต
#นักเทียบท่าเครือข่าย
เครือข่าย:
ไมเน็ต:
คนขับ: สะพาน
#วอลุ่ม
ปริมาณ:
mysqldata:
คนขับ: ท้องถิ่น
ฉันกำลังทำอะไร? ฉันใช้ Docker จาก MacBook และกำลังต้องการปรับใช้กับเครื่อง Debian ที่ใช้งานจริง
ฉันยังใหม่กับนักเทียบท่า ดังนั้นขออภัยหากฉันพลาดอะไรไป