使用包含 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/