文章目录

  • 1. 构建 PHP 镜像
  • 2. 配置
    • 2.1 配置 Nginx
    • 2.2 编写 docker-compose.yml
  • 3. 启动容器

Chevereto 是一套基于 PHP 构建,易于安装和配置使用的开源在线图片存储分享服务系统

结合上篇 通过 Docker 搭建 Typecho 详细教程,通过 Docker Compose 编排 Mysql、PHP、Nginx 容器,同时部署 Typecho 和 Chevereto

1. 构建 PHP 镜像

Dockerfile 内容如下所示:

FROM php:7.2.3-fpm
LABEL maintainer="tsund" \email="tsund@qq.com" \version="7.2.3-fpm"RUN apt-get update \&& apt-get install -y libgd-dev libzip-dev \&& apt-get clean && rm -rf /tmp/* && rm -rf /var/lib/apt/lists/* \&& docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ --with-png-dir=/usr/include \&& docker-php-ext-install gd pdo pdo_mysql mysqli zipCOPY ./php.ini /usr/local/etc/php/conf.d/

可通过以上 Dockerfile 自行构建,构建方法如下。亦可直接使用我构建好的镜像 tsund/php:7.2.3-fpm

  1. 下载 GitHub 仓库 中的 7.2.3-fpm 文件夹,cd 到该文件夹下,执行以下命令构建镜像
docker build username/repo:tag .
  1. push 到 Docker Hub
docker push username/repo:tag

2. 配置

目录结构如下:

[root@shenke web]# tree -L 1
.
├── docker-compose.yml
├── html
├── mysql
├── mysql.env
├── nginx
└── ssl4 directories, 2 files

2.1 配置 Nginx

编写图床页面的配置文件,内容如下所示:

server {listen 443 ssl;server_name img.tsund.cn;root /var/www/html/chevereto;index index.php;access_log /var/log/nginx/typecho_access.log main;ssl_certificate /var/www/ssl/img_tsund_cn.crt;ssl_certificate_key /var/www/ssl/img_tsund_cn.key;ssl_session_cache shared:SSL:1m;ssl_session_timeout 5m;ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;ssl_protocols TLSv1 TLSv1.1 TLSv1.2;ssl_prefer_server_ciphers on;location ~ .*\.php(\/.*)*$ {fastcgi_pass   php:9000;fastcgi_index  index.php;# fastcgi_connect_timeout 60s;# fastcgi_send_timeout 60s;# fastcgi_read_timeout 60s;fastcgi_param  PATH_INFO $fastcgi_path_info;fastcgi_param  PATH_TRANSLATED $document_root$fastcgi_path_info;fastcgi_param  SCRIPT_NAME $fastcgi_script_name;fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;include        fastcgi_params;}# Chevereto NGINX generated rules for https://img.tsund.cn/# Context limitsclient_max_body_size 20M;# Disable access to sensitive fileslocation ~* /(app|content|lib)/.*\.(po|php|lock|sql)$ {deny all;}# Image not found replacementlocation ~ \.(jpe?g|png|gif|webp)$ {log_not_found off;error_page 404 /content/images/system/default/404.gif;}# CORS header (avoids font rendering issues)location ~* /.*\.(ttf|ttc|otf|eot|woff|woff2|font.css|css|js)$ {add_header Access-Control-Allow-Origin "*";}# Pretty URLslocation / {index index.php;try_files $uri $uri/ /index.php$is_args$query_string;}# END Chevereto NGINX rules}

2.2 编写 docker-compose.yml

内容参考如下:

version: "3"services:nginx:image: nginxcontainer_name: nginxports:- "80:80"- "443:443"restart: alwaysvolumes:- ./html:/var/www/html- ./ssl:/var/www/ssl- ./nginx/conf.d:/etc/nginx/conf.d- ./nginx/nginx.conf:/etc/nginx/nginx.confdepends_on:- phpnetworks:- webphp:image: tsund/php:7.2.3-fpmcontainer_name: phprestart: alwaysports:- "9000:9000"volumes:- ./html:/var/www/htmlenvironment:- TZ=Asia/Shanghaidepends_on:- mysqlnetworks:- webmysql:image: mysql:5.7container_name: mysqlrestart: alwaysports:- "3306:3306"volumes:- ./mysql/data:/var/lib/mysql- ./mysql/logs:/var/log/mysql- ./mysql/conf:/etc/mysql/conf.denv_file:- mysql.envnetworks:- webnetworks:web:

以上内容详解可参考 通过 Docker 搭建 Typecho 详细教程

3. 启动容器

在存放目录下,执行以下命令启动容器

docker-compose up -d

之后,浏览器进入图床页面开始配置即可

通过 Docker 搭建 Chevereto 图床相关推荐

  1. 宝塔搭建chevereto图床

    前言 chevereto是一个国外开发的图床,使用php+nginx+mysql搭建的,使用宝塔面板更方便搭建chevereto图床,chevereto有收费和免费版本 准备环境 宝塔面板,百度网上很 ...

  2. 群晖NAS教程(八)、利用Docker安装chevereto图床并进行远程访问

    为了更好的浏览体验,欢迎光顾勤奋的凯尔森同学个人博客 群晖NAS教程(八).利用Docker安装chevereto图床并进行远程访问 一.下载chevereto镜像 先查看一下chevereto官方镜 ...

  3. 用docker快速搭建chevereto图床

    chevereto是一款好用强大的图床,很多小伙伴都有搭建,于是乎,也想搭建一个来玩玩 准备 chevereto图床是用php写的,这就意味着要LNMP环境,想想就觉得好烦啊 想着有现成的docker ...

  4. 在服务器上搭建 Chevereto 图床

    为什么要搭建图床 最近在搭建博客.在写文章的时候因为服务器资源和网络环境的问题需要所以选择使用国内图床.来加速网站的访问速度. 刚开始是使用路过图床.但是后来发现我托管在路过图床上的图片国内不能访问了 ...

  5. [图床] 使用腾讯云轻量服务器 + 腾讯云 CDN 搭建 Chevereto 图床和加速分发方案

    本文原载于 https://www.idc.moe/archives/QCloud-Lighthouse-BTPremium-Chevereto-CDN.html 最近良心云和宝塔搞了个宝塔面板·腾讯 ...

  6. Docker系列 搭建个人图床chevereto

    转至我的个人博客:https://blognas.hwb0307.com.欢迎关注! 此教程经测试有些缺陷,改良版教程详见:https://blognas.hwb0307.com/linux/dock ...

  7. Chevereto图床搭建 | 利用云服务器搭建免费图床完整教程

    前言: 手里有台香港阿里云机器,不知道干什么好,干脆拿来做些小实验,呆在家里防疫都已经快长毛了...博客上的图片本来是托管在阿里云OSS上的,但是感觉管理起来不是很方便.而且本来很好用的 SM.MS ...

  8. Chevereto v4 专业版搭建个人图床图文教程(博主自用)

    Chevereto 是一个优秀的图床程序,有免费版和付费版之分,目前,Chevereto 已更新至 V4 版本,今天为大家分享一下使用 Chevereto v4 最新专业版搭建个人图床的过程. 1. ...

  9. typora+picgo+Chevereto(linux)搭建图床-利用宝塔面板安装Chevereto图床

    下载picgo安装并且安装Chevereto插件 利用宝塔面板安装Chevereto图床 环境 一台服务器(云服务器或者本地服务器)本例为Centos 7 宝塔面板 LNMP环境 软件下载 https ...

最新文章

  1. DataGrid/DataList
  2. C语言的集成开发环境
  3. 导师:学生的第一篇SCI论文,把我看哭了!
  4. 历经5轮审稿被拒,那个“​没有Science,没有娃”的交大博士,最终申诉成功发顶刊,他说做科研,要尽全力再坚持一下......
  5. torch topk
  6. leetcode算法题--三数之和
  7. 城市中的像素灯塔-前海数据中心,深圳
  8. python 将字节字符串转换成十六进制字符串
  9. pat天梯赛L1-050. 倒数第N个字符串
  10. 中秋佳节,这个网络安全 7 年经验的大佬来发福利了!
  11. 前后台分离--概念相关
  12. 免费的定时任务托管 clock.sh
  13. (学习)linux驱动学习知识积累(一)
  14. 昔日最有前途的 Java 最终还是败给了晚辈 Python
  15. sqlserver 建表指定主键_3-自增字段;主键约束
  16. HAproxy的安装配置及动静分离
  17. 音乐推荐系统(协同过滤和SVD)
  18. 虚拟仿真港珠澳大桥,大湾区综合管理信息系统
  19. TortoiseSVN不会弹出认证(账号密码)或 TortoiseSVN正在启动版本库浏览器
  20. 如何正确检测文件类型?

热门文章

  1. 数学辨异 —— 泰勒展开与等比数列求和
  2. java调jacob包实现系统语音
  3. 美年大健康董事长俞熔:发现新赛道、孵化好赛马
  4. cad连接不同线段的端点_cad里可不可以自动在多段线的端点上生成点?
  5. 【转】VS2012 中文版转英文版 英文版转中文版 界面语言切换
  6. 飞秋(FeiQ)爱好者 2013年6月,总结。
  7. Matlab 符号运算 机器人正运动学DH 代公式
  8. 【SpringBoot高级篇】SpringBoot集成Elasticsearch搜索引擎
  9. 音视频 FFmpeg
  10. vue-cli中css引入图片打包路径问题