基于centos7的基础架构,dockerfile编写wordpress,其中包含MySQL5.7,php7.4,nginx。可以正常访问的wordpress。写出构建镜像和运行的命令。MySQL可以正常启动,现已确定 mysqld_safe & systemctl start mysqld.service service mysqld start这三种方式都无法启动MySQL
时间: 2024-04-20 11:22:23 浏览: 207
docker安装centos7,并安装mysql
5星 · 资源好评率100%
你可以使用以下 Dockerfile 来构建包含 MySQL 5.7,PHP 7.4 和 Nginx 的 WordPress 镜像:
```Dockerfile
# 使用基于 CentOS 7 的基础镜像
FROM centos:7
# 安装必要的软件包
RUN yum update -y && \
yum install -y epel-release && \
yum install -y wget unzip && \
yum install -y http://rpms.remirepo.net/enterprise/remi-release-7.rpm && \
yum install -y yum-utils && \
yum-config-manager --enable remi-php74 && \
yum install -y php php-fpm php-cli php-mysqlnd php-zip php-gd php-mcrypt php-mbstring php-xml php-json && \
yum install -y nginx && \
yum clean all
# 下载并解压 WordPress
RUN wget https://wordpress.org/latest.zip -O /tmp/wordpress.zip && \
unzip /tmp/wordpress.zip -d /var/www/html/ && \
cp -Rf /var/www/html/wordpress/* /var/www/html/ && \
rm -rf /var/www/html/wordpress/ && \
chown -Rf nginx:nginx /var/www/html/
# 安装 MySQL 5.7
RUN wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm && \
rpm -ivh mysql57-community-release-el7-11.noarch.rpm && \
yum install -y mysql-server
# 复制 Nginx 配置文件
COPY nginx.conf /etc/nginx/nginx.conf
# 暴露端口
EXPOSE 80
# 启动服务
CMD ["nginx", "-g", "daemon off;"]
```
将上述 Dockerfile 保存为 `Dockerfile` 文件,然后执行以下命令构建镜像:
```
docker build -t wordpress .
```
构建完成后,你可以使用以下命令来运行容器:
```
docker run -d -p 80:80 --name wordpress-container wordpress
```
请确保你已经准备好了 Nginx 的配置文件 `nginx.conf`,并将其放置在与 Dockerfile 相同的目录下。
至于 MySQL 无法启动的问题,请检查 MySQL 的配置文件是否正确,并确保 MySQL 的数据目录具有适当的权限。你可以尝试在容器内手动启动 MySQL 并查看错误日志以获取更多的信息。
阅读全文