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

 

 

~來個硬廣~ 個人網店系統


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM