|
|
IP 地址(本地测试环境):192.168.0.33
操作系统:Armbian 5.15.83
镜像操作:
- docker pull php:7.4-fpm
- docker pull nginx:latest
- docker pull mariadb:10.4
- docker pull phpmyadmin
[color=rgb(51, 102, 153) !important]复制代码
文件操作:
- mkdir -p /home/docker/nginx/html /home/docker/nginx/conf.d /home/docker/mysql/data /home/docker/mysql/conf /home/docker/mysql/log /home/docker/nginx/html/phpmyadmin /home/docker/php/conf.d
- cp /home/files/nginx.conf /home/docker/nginx/conf.d
- cp /home/files/my_mariadb.cnf /home/docker/mysql/conf
- cp /home/files/my_php.ini /home/docker/php/conf.d
[color=rgb(51, 102, 153) !important]复制代码
1. 部署 PHP
1) 部署环境
2) 运行容器
- docker run --name php-7.4-fpm -p 9000:9000\
- -v /home/docker/nginx/html:/var/www/html\
- -v /home/docker/php/conf.d:/usr/local/etc/php/conf.d\
- --privileged=true\
- --restart=always\
- -d php:7.4-fpm
[color=rgb(51, 102, 153) !important]复制代码
参数说明:
--name php-7.4-fpm:将容器命名为 php-7.4-fpm。
-p 9000:9000:端口进行映射,将本地 9000 端口映射到容器内部的 9000 端口。
-v:将本地文件夹 /home/docker/nginx/html 与容器文件夹 /var/www/html 挂载。在 /home/docker/nginx/html 目录下,创建 info.php 文件,内容如下:
- <?php
- echo "Nginx/PHP7.4 - info.php";
- ?>
[color=rgb(51, 102, 153) !important]复制代码
--privileged=true:使用该参数,容器内的 root 拥有真正的 root 权限。否则,容器内的 root 只是外部的一个普通用户权限。
-d:设置容器在后台一直运行。
php:7.4-fpm: 镜像:tag。
4) 使用 docker-php-ext-install 安装扩展
一般需要安装一些 PHP 扩展,包括一些比较核心的拓展 gd、mysql_pdo、redis 客户端等,本文后面会使用 MariaDB,需要安装 MySQL 相关的扩展。
- docker exec -it php-7.4-fpm /bin/bash
- find / -name docker-php-ext-install
- /usr/local/bin/docker-php-ext-install pdo_mysql mysqli
- exit
- docker restart php-7.4-fpm
[color=rgb(51, 102, 153) !important]复制代码
2. 部署 Nginx + php-fpm
运行容器
- docker run --name nginx-php7.4 -p 80:80\
- -v /home/docker/nginx/html:/usr/share/nginx/html\
- -v /home/docker/nginx/conf.d:/etc/nginx/conf.d\
- --privileged=true\
- --link php-7.4-fpm\
- --restart=always\
- -d nginx
[color=rgb(51, 102, 153) !important]复制代码
参数说明:
--name nginx-php7.4:将容器命名为 nginx-php7.4。
-p 8888:80:端口进行映射,将本地 8888 端口映射到容器内部的 80 端口。
-v:将本地文件夹与容器文件夹挂载。
--privileged=true:使用该参数,容器内的 root 拥有真正的 root 权限。否则,容器内的 root 只是外部的一个普通用户权限。
-d:设置容器在后台一直运行。
nginx: 这里表示 nginx:latest,镜像:tag。
3. 部署 MariaDB(MySQL)
1) 部署环境
2) 运行 MariaDB 容器
- sudo docker run --name mariadb-10.4 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456\
- -v /home/mysql/conf:/etc/mysql/conf.d\
- -v /home/docker/mysql/data:/var/lib/mysql\
- -v /home/mysql/log:/var/log/mysql\
- --restart=always\
- -d mariadb:10.4
[color=rgb(51, 102, 153) !important]复制代码
参数说明:密码在phpmyadmin 部署后去更改 root %及root @ localhost
-p 3306:3306:映射容器服务的 3306 端口到宿主机的 3306 端口。外部可以直接通过宿主机 ip:3306 访问到 mariadb 的服务。
MYSQL_ROOT_PASSWORD=123456:设置 mariadb 服务 root 用户的密码。
注:
MariaDB (MySQL) 的默认配置文件是 /etc/mysql/my.cnf 文件。如果想要自定义配置,在 /etc/mysql/conf.d 目录中创建 *.cnf 文件。新建的文件可以任意起名,只要保证后缀名是 cnf 即可。新建的文件中的配置项可以覆盖 /etc/mysql/my.cnf 中的配置项。
4. 配置 phpMyAdmin
1) 配置环境
- docker run -d --name phpmyadmin -e PMA_HOST=192.168.0.31 -e PMA_PORT=3306 -p 8080:80 phpmyadmin
[color=rgb(51, 102, 153) !important]复制代码
浏览器访问 http://192.168.0.33/phpmyadmin,页面显示 phpMyAdmin 主页。
解压目录/home/files
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|