简介:本文将指导您在CentOS 7.4上使用Docker快速部署LNMP(Linux, Nginx, MySQL, PHP)环境和WordPress。我们将通过Docker容器化技术,简化部署过程,提高环境的一致性和可维护性。
一、准备工作
在开始之前,请确保您的CentOS 7.4系统已经安装了Docker。您可以通过以下命令检查Docker是否已安装:
docker --version
如果未安装Docker,请按照官方文档的指引进行安装。
二、创建和配置Nginx容器
这将在后台运行一个名为my-nginx的Nginx容器,并将容器的80端口映射到主机的80端口。
docker run --name my-nginx -d -p 80:80 nginx
如果看到my-nginx容器正在运行,说明Nginx容器已经成功创建。
docker ps
这将创建一个名为my-mysql的MySQL容器,并设置root用户的密码为my-secret-pw。请确保将密码替换为您想要的实际密码。
docker run --name my-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:5.7
如果看到my-mysql容器正在运行,说明MySQL容器已经成功创建。
docker ps
这将创建一个名为my-php的PHP容器,并将容器的9000端口映射到主机的9000端口。通过—link参数将my-mysql容器命名为mysql,将my-nginx容器命名为nginx,以便在PHP容器中访问它们。
docker run --name my-php -d -p 9000:9000 --link my-mysql:mysql --link my-nginx:nginx php:7.2-fpm
如果看到my-php容器正在运行,说明PHP容器已经成功创建。
docker ps
这将进入PHP容器的bash shell,并将当前目录切换到PHP容器的/var/www/html/目录。这是默认的Web根目录。
shell docker exec -it my-php bash
cd /var/www/html/
curl -o wordpress.tar.gz https://wordpress.org/latest.tar.gz
tar -xzf wordpress.tar.gz
rm wordpress.tar.gz
确保将DB_PASSWORD替换为您在创建MySQL容器时设置的密码。
define('DB_NAME', 'wordpress');
define('DB_USER', 'root');
define('DB_PASSWORD', 'my-secret-pw');
define('DB_HOST', 'mysql');
define('DB_CHARSET', 'utf8mb4');
define('DB_COLLATE', '');
docker exec -it my-mysql mysql -uroot -p
mysql> CREATE DATABASE wordpress;
mysql> GRANT ALL PRIVILEGES ON wordpress.* TO 'root'@'%' IDENTIFIED BY 'my-secret-pw';
mysql> FLUSH PRIVILEGES;
mysql> exit;