在用docker搭建wordpress时发生错误
我运行了wordpress容器时发现使用docker ps命令查询不到它的状态,我用docker ps -a查询发现了它处于 Exited (1) 3 seconds ago 状态
[root@localhost ~]# docker run --name=wordpress -p 80:80 -e WORDPRESS_DB_HOST=192.168.200.10:3306 -e WORDPRESS_DB_USER=wordpress -e WORDPRESS_DB_PASSWORD=123456 wordpress
[root@localhost ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
746ae4ff0779 wordpress "docker-entrypoint.s…" 11 minutes ago Exited (1) 7 minutes ago wordpress
443daef6c3f6 mysql/mysql-server "/entrypoint.sh mysq…" 40 minutes ago Up 40 minutes (healthy) 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060-33061/tcp mysql
[root@localhost ~]# docker run --name=wordpress -p 80:80 -e WORDPRESS_DB_HOST=192.168.200.10:3306 -e WORDPRESS_DB_USER=wordpress -e WORDPRESS_DB_PASSWORD=123456 wordpress
[root@localhost ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
746ae4ff0779 wordpress "docker-entrypoint.s…" 11 minutes ago Exited (1) 7 minutes ago wordpress
443daef6c3f6 mysql/mysql-server "/entrypoint.sh mysq…" 40 minutes ago Up 40 minutes (healthy) 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060-33061/tcp mysql
我查询了他的日志
[root@localhost ~]# docker logs 746ae4ff0779
WordPress not found in /var/www/html - copying now...
Complete! WordPress has been successfully copied to /var/www/html
No 'wp-config.php' found in /var/www/html, but 'WORDPRESS_...' variables supplied; copying 'wp-config-docker.php' (WORDPRESS_DB_HOST WORDPRESS_DB_PASSWORD WORDPRESS_DB_USER)
[Wed Dec 28 12:39:55.172952 2022] [:crit] [pid 1] (38)Function not implemented: AH00141: Could not initialize random number generator
[Wed Dec 28 12:44:09.891840 2022] [:crit] [pid 1] (38)Function not implemented: AH00141: Could not initialize random number generator
百度过一些方法,试过但还是不行,求问怎么解决
涉及到容器之间的关联,直接用docker-compose来玩更合适,毕竟你要设置数据库。
如果用docker-compose,我此前使用到的yml配置文件如下:
version: "3"
services:
db:
image: mysql:8.0
command:
- --default_authentication_plugin=mysql_native_password
- --character-set-server=utf8mb4
- --collation-server=utf8mb4_unicode_ci
volumes:
- db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: somewordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
wordpress:
depends_on:
- db
image: wordpress:latest
ports:
- "8000:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
volumes:
db_data:
可以尝试在运行 WordPress 容器时指定一些环境变量,例如数据库名称、用户名和密码。可以使用以下命令:
docker run --name=wordpress -p 80:80 -e WORDPRESS_DB_HOST=192.168.200.10:3306 -e WORDPRESS_DB_USER=wordpress -e WORDPRESS_DB_PASSWORD=123456 -e WORDPRESS_DB_NAME=wordpress_db wordpress