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