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
~來個硬廣~ 個人網店系統