centos8安装docker+phpfpm+alpine+nginx+mariadb

2020-3-31 12:51:44 星期二

记录一下安装过程备忘:

1. 宿主机 centos8 安装docker-ce (可参考centos7的安装方法, 没有太大变化)

2. nginx 直接装在宿主机上, 添加一个域名的配置, 将php文件的请求转发到 172.0.0.1:9700

3. php通过docker的方式安装, 基础镜像选择alpine后才知道通过alpine的 apk add 安装PHP扩展有多方便

docker php-fpm 官方镜像说明

3.1 拉取php docker镜像, 拉取的时候指定tag拉取需要的版本, 这里看各个tag说明;

docker pull php:7-fpm-alpine3.11

 

3.2 启动php容器

// 查看拉取的镜像
docker images

//启动镜像 (-d 后台启动,  --name 给启动后的容器起个名)
docker run -d --name php7fpm  0e798217e66f

 

3.3 复制PHP的配置文件

// 进入容器
docker exec -it php7fpm /bin/sh

//复制创建php.ini
//官方镜像的php配置文件地址在 /usr/local/etc/php/  可以去官网点开Dockerfile文件查看其配置文件路径
cp php.ini.production php.ini

 

3.4 退出容器, 创建新的镜像

//退出容器: 容器内执行
exit

//查找刚才修改过的容器id docker ps //创建新的镜像 (如下边, 提交生成一个名为php7fpm_v1的新镜像) docker commit 8edfc184eb14 php7fpm_v1

 

3.5 启动新的PHP容器

//启动刚才新建的镜像, 启动后的容器名字叫php7fpm_v1, 
//将宿主机的 /usr/www/html 与容器的 /usr/www/html 目录做映射, 
//将宿主机的 127.0.0.1:9700 与容器的 9000 端口做映射
docker run -d -v /usr/www/html:/usr/www/html -p 127.0.0.1:9700:9000 --name php7fpm_v1 php7fpm_v1

 

3.6 在宿主机的 /usr/www/html 目录下添加PHP脚本 index.php

1 <?php
2 
3  phpinfo();

 

3.7 浏览器中访问第2步中配置好的域名, 查看php信息

 

4. 安装mariadb

4.1 dnf install -y mariadb 

4.2 dnf install -y mariadb-server (此时2020年5月26日最新版是 10.3.17)

4.3 修改字符集

#编辑server的配置 
vi /etc/my.cnf.d/mariadb-server.cnf

#在[mysqld]章节添加指令, 可以不用设置数据库和字段的默认字符集, 这些是继承上级的 server>database>table>field
character_set_server=utf8
collation_server=utf8_general_ci

#启动mariadb, 重启: systemctl restart mariadb
systemctl start mariadb

#查看字符集
show variables like “%character%”;
show variables like “%collation%” ;

4.4 修改密码

1)mysql_secure_installation
首先是设置密码,会提示先输入密码.。
Enter current password for root (enter for none):<–初次运行直接回车
(2)设置密码
Set root password? [Y/n] <– 是否设置root用户密码,输入y并回车或直接回车
New password: <– 设置root用户的密码
Re-enter new password: <– 再输入一次你设置的密码
(3)其他配置
Remove anonymous users? [Y/n] <– 是否删除匿名用户,回车
Disallow root login remotely? [Y/n] <–是否禁止root远程登录,回车,
Remove test database and access to it? [Y/n] <– 是否删除test数据库,回车
Reload privilege tables now? [Y/n] <– 是否重新加载权限表,回车
初始化MariaDB完成,

 

 另外一篇, virtualbox+rancherOS安装PHP环境的docker

 

 

~来个硬广~ 个人网店系统

posted @ 2020-03-31 13:19  myD  阅读(1075)  评论(0编辑  收藏  举报