gpt4 book ai didi

mysql - Docker 构建失败

转载 作者:行者123 更新时间:2023-11-29 09:45:39 24 4
gpt4 key购买 nike

已关注 this tutorial .

本教程提供 GitHub account 上的文件.

我将我的目录命名为 DOCKER-PHP-MYSQL,它类似于以下内容:

DOCKER-PHP-MYSQL
> db
- Dockerfile
> src
- index.php
> www
- Dockerfile
development.env
docker-compose.yml

现在我的代码实际上与 git 存储库中的所有内容匹配,但为了论证,我将粘贴每个文件中的内容。

数据库 Dockerfile:

FROM mysql:8.0

在src中,index.php文件:

<?php
$mysqli = new mysqli('tut07-db', getenv('MYSQL_USER'), getenv('MYSQL_PASSWORD'), 'information_schema');
if ($mysqli->connect_error)
{
echo 'Connection Error [', $mysqli->connect_errno, ']: ', $mysqli->connect_error;
}
else
{
echo 'MySQLi Connected Successfully!';
}
?>

这是 www Dockerfile:

FROM php:7.2-apache

RUN docker-php-ext-install mysqli
RUN docker-php-ext-enable mysqli

RUN docker-php-ext-install xdebug
RUN docker-php-ext-enable xdebug

这是development.env:

MYSQL_USER=sys_admin
MYSQL_PASSWORD=sys_password
MYSQL_ROOT_PASSWORD=root_password

最后是 docker-compose.yml:

version: "3"

networks:
tut07-frontend:
driver: bridge
ipam:
driver: default
config:
- subnet: 172.10.1.0/24
tut07-backend:
driver: bridge
ipam:
driver: default
config:
- subnet: 172.10.2.0/23

services:
tut07-db:
build: ./db
command: --default-authentication-plugin=mysql_native_password
ports:
- 3306:3306
networks:
tut07-backend:
ipv4_address: 172.10.3.2
env_file:
- ./development.env
tut07-www:
build: ./www
ports:
- 8080:80
volumes:
- ./src:/var/www/html/
networks:
tut07-backend:
ipv4_address: 172.10.2.2
tut07-frontend:
ipv4_address: 172.10.1.2
depends_on:
- tut07-db
env_file:
- ./development.env

唯一的区别是我将主文件夹命名为 DOCKER-PHP-MYSQL,而教程将其命名为tutorial-07。

话虽如此,我在运行命令“docker-compose up”时在终端中收到以下错误:

错误:/usr/src/php/ext/xdebug 不存在

用法:/usr/local/bin/docker-php-ext-install [-jN] ext-name [ext-name ...]
即:/usr/local/bin/docker-php-ext-install gd mysqli
/usr/local/bin/docker-php-ext-install pdo pdo_mysql
/usr/local/bin/docker-php-ext-install -j5 gd mbstring mysqli pdo pdo_mysql shmop

如果需要自定义 ./configure 参数,请参阅 docker-php-ext-configure

扩展名的可能值:
bcmath bz2 calendar ctypecurl dba dom enchant exif fileinfo filter ftp gd gettext gmp hash iconv imap interbase intl json ldap mbstring mysqli oci8 odbc opcache pcntl pdo pdo_dblib pdo_firebird pdo_mysql pdo_oci pdo_odbc pdo_pgsql pdo_sqlite pgsql phar posix pspell readline 重新编码反射 session shm op simplexml snmp 肥皂套接字钠spl 标准 sysvmsg sysvsem sysvshm 整洁分词器 wddx xml xmlreader xmlrpc xmlwriter xsl zend_test zip

上面的一些模块已经编译成PHP;请检查
“php -i”的输出以查看哪些模块已加载。
错误:服务“tut07-www”无法构建:命令“/bin/sh -c docker-php-ext-install xdebug”返回非零代码:1

有人知道这个问题以及如何解决它吗?

最佳答案

从 www Dockerfile 中删除以下几行后,我终于能够连接到 MySQL:

RUN docker-php-ext-install xdebug
RUN docker-php-ext-enable xdebug

关于mysql - Docker 构建失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55738958/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com