基于 docker 自建图床

使用 chevereto 进行图床配置

配置 docker 环境

可以参考:Docker 安装 | 菜鸟教程 (runoob.com)

配置数据库

创建 docker mysql-5.7 容器

1
2
3
4
5
6
7
8
9
10
docker pull mysql:5.7
docker run -d \
--name mysql \
-p 3306:3306 \
-v /opt/mysql/config:/etc/mysql/conf.d \
-v /opt/mysql/data:/var/lib/mysql \
-m 500m \
-e MYSQL_ROOT_PASSWORD=zhenggang@123 \
--net mynet \
mysql:5.7

配置数据库:

1
2
3
4
5
6
7
8
9
10
11
12
# 进入容器
docker exec -it mysql:5.7 /bin/bash

# 进入数据库
mysql -u root -p

# 输入 root 账号的密码

# 创建数据库
CREATE DATABASE IF NOT EXISTS chevereto
-> DEFAULT CHARACTER SET utf8
-> DEFAULT COLLATE utf8_general_ci;

配置图床

创建容器

1
2
3
4
5
6
7
8
9
10
11
12
13
# 下载镜像
docker pull linuxserver/chevereto
# 创建勇气
docker run -d \
--name=chevereto \
-e TZ=Asia/Shanghai \
-p 9600:80 \
-v /opt/chevereto/config:/config \
-v /opt/chevereto/data:/data \
-m 500m\
--restart unless-stopped \
--net mynet \
linuxserver/chevereto

使用浏览器访问相关服务,进入图床设置,按照需求,修改语言、时区等内容

配置 nginx 代理配置

申请 ssl 证书,进行图床网站的配置, nginx 代理参考格式如下:

补充说明:仅看次文章不足以支持从零入手配置图床,需要稍微掌握一下 docker 、 nginx 、 ssl 相关内容。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
server {
listen 80;
server_name img.xxx.com;
return 301 https://img.xxx.com$request_uri;
}

server {
listen 443 ssl;
server_name img.xxx.com;
gzip on;

ssl_certificate conf.d/img.xxx.com_bundle.crt; # pem's filename
ssl_certificate_key conf.d/img.xxx.com.key; # key's filename

location / {
proxy_redirect off;
proxy_pass http://xxx.xxx.xxx.xxx:9600;

proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Ssl on;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Frame-Options SAMEORIGIN;

client_max_body_size 100m;
client_body_buffer_size 128k;

proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
}
}

参考

用docker快速搭建chevereto图床-Ying (luvying.com)