php - Docker PHP/MySQL/Apache 容器

标签 php mysql docker

使用包含 PHP、Apache 和 MySQL 的 Docker 文件。我能够在本地主机中拉出页面。但是,我无法让 MySQL 运行。

# Use an official PHP Apache runtime as a parent image
FROM php:7.0-apache

# Set the working directory to /var/www/html/
WORKDIR /var/www/html/

# Install mysqli extensions
RUN docker-php-ext-install mysqli && \
apt-get update && \
apt-get install -y zlib1g-dev && \
apt-get install -y libxml2-dev && \
docker-php-ext-install zip && \
docker-php-ext-install xml

# Make port 80 available to the world outside this container
EXPOSE 80

基于上述内容,当我尝试运行以下命令时:

docker run --name some-mysql -e MYSQL_abcd_123456=my-secret-pw -d mysql:tag

我在终端中收到以下错误:

Unable to find image 'mysql:tag' locally
docker: Error response from daemon: manifest for mysql:tag not found.

我错过了什么?

最佳答案

docker run 命令需要图像名称参数以及可选的图像版本(推荐)。

用途:

docker run --name some-mysql -e MYSQL_abcd_123456=my-secret-pw -d mysql:latest

拉取最新的 mysql 镜像或选择 supported tags 列出的确切版本

例如:

5.7.25

8.0.15

在大多数情况下,您不应使用带有版本 latest 的标签(或跳过该版本),因为这是不明确的,并且可能会在两台不同的计算机上为您提供不同版本的镜像,即使它们用于构建相同的 Dockerfile FROM 语句,或者使用相同的 docker run (docker pull) 命令。 Read more

如果可能的话,我建议始终坚持使用明确的版本号,例如:

docker run --name some-mysql -e MYSQL_abcd_123456=my-secret-pw -d mysql:8.0.15

关于php - Docker PHP/MySQL/Apache 容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55465129/

相关文章:

php - Zend 框架 : Meta attributes (keywords/description) from database

php - 开发 WordPress 管理链接重定向到实时站点

mysql - 用户创建的对象存储在哪里?

mysql - 简单的mysql触发器,找不到语法错误。对此表示赞赏

docker - Docker 容器中的 nvidia-docker GPU

python - Docker Scrapy spider 保存数据到 Postgres 端口报错

php - 在 mysqli 中存储和迭代查询结果

mysql - 数据库中的多种编码

macos - 在 OSX 的多个终端选项卡中使用 docker/docker-machine

php - 最近安装了 XAMPP 并卡在 "Connection for controluser failed"