本例使用的是電腦是MacBook Pro淫痰,搭建架構(gòu)是:宿主機(jī)(mac)Nginx括授,Docker里部署PHP7.2-FPM
宿主機(jī)安裝Nginx?
可自行編譯或者下載安裝包谊迄,我這里選擇了brew安裝
宿主機(jī)安裝Docker?
我這里選擇【Mac with Apple Chip】下載版本窑多,安裝哮独,然后選擇國(guó)內(nèi)源
"registry-mirrors": [
"http://registry.docker-cn.com",
"http://hub-mirror.c.163.com"
],
docker 安裝 php7.2.34?
0拳芙、搜索php源:
https://hub.docker.com/_/php?tab=tags&page=1&name=7.2-fpm
1、安裝PHP
docker pull php:7.2-fpm
docker run -d --name php72-fpm -p 9527:9000 -v /Users/liyuchao/xxx:/var/www/html php:7.2-fpm
「說(shuō)明」
9527 端口是給php72-fpm用的皮璧,后續(xù)nginx配置項(xiàng)里舟扎,需要注意這個(gè)
/var/www/html 是php-fpm默認(rèn)web目錄
2、docker 中安裝PHP擴(kuò)展
大部分都可以使用 docker-php-ext-install安裝恶导,例如:
docker-php-ext-install pdo_mysql gd
redis使用pecl安裝
pecl install redis
docker-php-ext-enable redis
比較特殊的幾個(gè)標(biāo)記了一下對(duì)應(yīng)的版本號(hào)浆竭,需要自行編譯安裝
安裝apcu:
https://pecl.php.net/get/apcu-5.1.21.tgz
phpize
make
make install
安裝imagick: 參考 https://blog.csdn.net/weixin_34094559/article/details/116174201
安裝gd:
apt-get install --allow-downgrades -y zlib1g=1:1.2.8.dfsg-5 zlib1g-dev libz-dev libfreetype6-dev libjpeg62-turbo-dev libpng-dev
&& docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/
&& docker-php-ext-install -j$(nproc) gd
docker安裝ps [ps: command not found]
apt-get update
apt install procps
宿主機(jī)(mac)配置nginx?
在/opt/homebrew/etc/nginx/servers下新增一個(gè)文件:
server {
listen 80;
server_name 127.0.0.1;
root /Users/liyuchao/xxx;
access_log /usr/local/var/log/nginx/php-access.log;
error_log /usr/local/var/log/nginx/php-error.log;
location / {
autoindex on;
index index.html index.htm index.php;
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9527;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/html$fastcgi_script_name;
include fastcgi_params;
}
}
nginx -s reload
不出意外訪問(wèn)http://127.0.0.1/,可以看到 hello world!
docker命令科普?
docker ps -a 顯示所有的容器邦泄,包括未運(yùn)行的
docker images 查看鏡像
docker commit -m="描述信息" -a="作者" 容器id 目標(biāo)鏡像名:[TAG] 將容器打包成鏡像
docker commit -m"banban php72-fpm" -a"liyuchao" 3a3d106f102c php-banban:7.2-fpm
docker save 51303b7c2668 >lyc.tar 導(dǎo)出鏡像
docker load < lyc.tar 導(dǎo)入鏡像
docker images
docker tag xxxxxx php:7.2-fpm