Docker搭建lskypro兰空图床
1、首先准备一个nginx的default文件
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html/public;
index index.html index.php index.nginx-debian.html;
server_name _;
location / {
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php?s=$1 last; break;
}
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
}
}
2、docker 拉取ubuntu18.04镜像
docker pull ubuntu:18.04
3、设计docker需要挂载的文件夹
###nginx的配置文件,对应的docker容器内的nginx配置文件
/lskypro/nginx/default >>/default
###对应docker里的网页文件夹
/lskypro/www >>>/var/www/html
###对应SSL证书文件
/lskpro/ssl >>>/ssl
设计好映射之后,创建文件夹
mkdir /lskypro/nginx -p
mkdir /lskypro/www
mkdir /lskypro/ssl
4、准备需要的文件
cd /lskypro/www ##进入网页目录
git clone -b master https://github.com/wisp-x/lsky-pro.git ##下载安装文件
mv lsky-pro/* ./ ##移动文件
vi /lskypro/nginx/default ##创建nginx配置文件
粘贴本文第一段nginx配置文件,然后:wq保存
5、启动镜像。
docker run -idt -p 80:80 -p 443:443 \
-v /lskypro/nginx/default:/default \
-v /lskypro/www/:/var/www/html \
-v /lskypro/ssl:/ssl \
--name lskypro ubuntu:18.04
6、进入镜像操作
docker exec -it lskypro bash ##进入docker
apt update&& apt install nginx php-fpm php-mysql php-zip php-curl -y ##安装nginx和php,中途需要选择时区。
rm /etc/nginx/sites-available/default ## 删除原来的nginx配置文件
cp /default /etc/nginx/sites-available/default ## 复制新的配置文件
/etc/init.d/nginx start ##启动nginx
/etc/init.d/php7.2-fpm start ##启动php-fpm
chown -R www-data:www-data /var/www/html ##给网页文件夹权限
ctrl p q ##退出docker容器
7、具体操作流程视频(可以复制里面的内容)
8、Dockerfile
FROM ubuntu:18.04
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN echo 'Asia/Shanghai' >/etc/timezone
WORKDIR /
RUN apt update \
&& apt install nginx php-fpm php-mysql php-zip php-curl -y
RUN touch /start.sh \
&& echo "#!/bin/bash" >> /start.sh \
&& echo "/etc/init.d/nginx start">> /start.sh \
&& echo "/etc/init.d/php7.2-fpm start">> /start.sh \
&& echo "chown -R www-data:www-data /var/www/html/">> /start.sh \
&& chmod +x /start.sh \
&& sed -i 's/post_max_size = 8M/post_max_size = 200M/' /etc/php/7.2/fpm/php.ini \
&& sed -i 's/upload_max_filesize = 2M/upload_max_filesize = 200M/' /etc/php/7.2/fpm/php.ini \
&& sed -i 's/index.nginx-debian.html/index.php/' /etc/nginx/sites-available/default \
&& sed -i '41d' /etc/nginx/sites-available/default \
&& sed -i 'N;42 a root /var/www/html/public;' /etc/nginx/sites-available/default \
&& sed -i '51d' /etc/nginx/sites-available/default \
&& sed -i 'N;48 a }' /etc/nginx/sites-available/default \
&& sed -i 'N;48 a rewrite ^(.*)$ /index.php?s=$1 last; break;' /etc/nginx/sites-available/default \
&& sed -i 'N;48 a if (!-e $request_filename) {' /etc/nginx/sites-available/default \
&& sed -i 'N;54 a }' /etc/nginx/sites-available/default \
&& sed -i 'N;54 a fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;' /etc/nginx/sites-available/default \
&& sed -i 'N;54 a include snippets/fastcgi-php.conf;' /etc/nginx/sites-available/default \
&& sed -i 'N;54 a location ~ \.php$ {' /etc/nginx/sites-available/default
CMD ["sh", "-c", "./start.sh;bash"]
以上是dockerfile内容
docker build -t img:1.0 .
然后直接挂载lskypro目录到/var/www/html即可。
docker run -idt -p 80:80 -v /lskypro/www:/var/www/html --name lskypro img:1.0
版权声明:
作者:佛西
链接:https://foxi.buduanwang.vip/linux/docker/323.html/
文章版权归作者所有,未经允许请勿转载
如需获得支持,请点击网页右上角
作者:佛西
链接:https://foxi.buduanwang.vip/linux/docker/323.html/
文章版权归作者所有,未经允许请勿转载
如需获得支持,请点击网页右上角
THE END
1
二维码
海报
Docker搭建lskypro兰空图床
1、首先准备一个nginx的default文件
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html/p……
共有 0 条评论