Rumah > Soal Jawab > teks badan
Saya sedang mencipta imej untuk projek php8 yang dijalankan pada apache dan menggunakan phpMyAdmin, fail Docker saya adalah seperti berikut:
FROM php:8.0-apache RUN apt-get update -y && apt-get install -y libmariadb-dev && docker-php-ext-install mysqli && docker-php-ext-install pdo_mysql WORKDIR /var/www/html
Docker-compose.yml saya adalah seperti berikut:
services: php-apache-environment: container_name: php-apache image: php:8.0-apache volumes: - ./php/src:/var/www/html/ ports: - 8000:80 db: container_name: db image: mysql:latest restart: always environment: MYSQL_ROOT_PASSWORD: MYSQL_ROOT_PASSWORD MYSQL_DATABASE: MY_DATABASE MYSQL_USER: MYSQL_USER MYSQL_PASSWORD: MYSQL_PASSWORD ports: - "9906:3306" phpmyadmin: image: phpmyadmin:latest ports: - '8080:80' restart: always environment: PMA_HOST: db depends_on: - db
Bagi saya, semuanya baik-baik saja, tetapi apabila saya menjalankan "docker compose up --build", bekas itu bermula tetapi dia tidak memasang "mysqli" dan "pdo_mysql" seperti yang saya minta dalam Dockerfile.
Tetapi jika saya log masuk ke dalam bekas PHP melalui CLI dan menjalankan docker-php-ext-install mysqli
和 docker-php-ext-install pdo_mysql
ia berfungsi dan saya hanya memulakan semula bekas PHP.
Tapi, tak tahu kenapa, dari awal tak boleh install?
Terima kasih atas bantuan anda.
P粉5415512302024-04-01 12:56:34
Terima kasih kepada komen Lety, kami hanya perlu menukar baris 4 docker-compose.yml Pengarang:
build: ./php
(menunjukkan direktori di mana Dockerfile terletak) dan ia berfungsi.
Sambung semula: Jangan tukar Dockerfile . Tukar docker-compose.yml Pengarang:
version: '3.8' services: php-apache-environment: container_name: php-apache build: ./php volumes: - ./php/src:/var/www/html/ ports: - 8000:80 db: container_name: db image: mysql:latest restart: always environment: MYSQL_ROOT_PASSWORD: MYSQL_ROOT_PASSWORD MYSQL_DATABASE: MY_DATABASE MYSQL_USER: MYSQL_USER MYSQL_PASSWORD: MYSQL_PASSWORD ports: - "9906:3306" phpmyadmin: image: phpmyadmin:latest ports: - '8080:80' restart: always environment: PMA_HOST: db depends_on: - db