Docker 化 Kodexplorer 的总结
从frantech买了storage, 价格大概是256GB 15 USD,挂载在VPS上面的。开始转移我的KOD到新的VPS上面,同时尝试用docker化运行。
思路是:
- 用docker 文件生成customize 的 image,其中有 两个主要的
- php7.1,php需要安装扩展插件,通过RUN命令搞定
- wyveo/nginx-php-fpm:php71 ,包括写好nginx conf配置的nginx,基本只要打开填入域名就可以了。后期可以考虑只用nginx 标准官方的。
- 第一次运行后,docker container cp 命令从镜像拷贝整个/etc/nginx出来,并配置default.conf 中的域名即可。
- 生产运行:
- -v 镜像kod 目录,
- -v 镜像我的block storage 目录/mnt/files 到nginx html里面
- -v log
- -v nginx 配置文件进去
- -p 80:80端口, -d daemon, -t name, 最后填上定制的image 名称
- 最后我的dockerfile:
FROM php:7.1-fpm
#FROM php:7.1-fpm-alpine3.4
#FROM nginx:1.17.4-alpine
# install dependencies
RUN apt-get update && apt-get install -y \
libfreetype6-dev \
libmcrypt-dev \
libpng-dev \
libjpeg-dev \
libpng-dev
#install php extension
RUN docker-php-ext-install iconv mcrypt
#config gd and install
RUN docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/
RUN docker-php-ext-install gd
FROM wyveo/nginx-php-fpm:php71
5. 生产运行的 docker run 命令
docker run \
-d \
-p 80:80 \
--name kod \
--volume "/kod_html/kod":/usr/share/nginx/html \
--volume "/mnt/files":/usr/share/nginx/html/files \
--volume "/kod_html/log":/var/log/nginx/ \
--volume "/kod_html/nginx":/etc/nginx/ \
kod