下载镜像
docker pull b3log/solo
方式1:使用H2数据库
docker run --detach --name solo --volume ~/solo_h2/:/opt/solo/h2/ --publish 8080:8080 \
--env RUNTIME_DB="H2" \
--env JDBC_DRIVER="org.h2.Driver" \
--env JDBC_URL="jdbc:h2:/opt/solo/h2/db;MODE=MYSQL" \
b3log/solo --listen_port=8080 --server_scheme=http --server_host=localhost --server_port=8080
程序启动后,使用: http://localhost:8080,就可以使用了
这种方式一般就用来进行一下演示
方式2:使用MySQL数据库
docker run --detach --name solo \
--env RUNTIME_DB="MYSQL" \
--env JDBC_USERNAME="root" \
--env JDBC_PASSWORD="123456" \
--publish 8080:8080 \
--link mysql7:mysql7 \
--env JDBC_DRIVER="com.mysql.cj.jdbc.Driver" \
--env JDBC_URL="jdbc:mysql://mysql7:3306/solo?useUnicode=yes&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC" \
--volume /Users/mac/work/open-source/solo-skins/:/opt/solo/skins/ \
b3log/solo --listen_port=8080 --server_scheme=http --server_host=localhost --server_port=8080
这里使用的MySQL数据库是同一宿主机上使用Docker搭建起来的,所以使用了--link
,
如果使用的是外部数据库,就不需要了,直接填写能够访问到的数据库域名或ip即可
/opt/solo/skins/
,这个是皮肤目录。
我们可以把官方提供的皮肤下载到对应的外部目录,进行配置
方案3:使用Nginx反向代理
正式环境的话,我们一般会使用外部MySQL Nginx反向代理的方式进行部署
- 启动Docker
docker run --detach --name solo \
--env RUNTIME_DB="MYSQL" \
--env JDBC_USERNAME="root" \
--env JDBC_PASSWORD="123456" \
--publish 8080:8080 \
--link mysql7:mysql7 \
--env JDBC_DRIVER="com.mysql.cj.jdbc.Driver" \
--env JDBC_URL="jdbc:mysql://mysql7:3306/solo?useUnicode=yes&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC" \
--volume /Users/mac/work/open-source/solo-skins/:/opt/solo/skins/ \
b3log/solo --listen_port=8080 --server_scheme=http --server_host=www.zhangln.com --server_port=
- Nginx配置
upstream backend {
server localhost:8080; # Solo 监听端口
}
server {
listen 80;
server_name www.zhangln.com; # 博客域名
access_log off;
location / {
proxy_pass http://backend$request_uri;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
client_max_body_size 10m;
}
}
方案4:docker-compose一键部署
重点来介绍一下这种
基本思路是,将nginx、solo、mysql,都部署在一台服务器上
https://github.com/liumapp/solo-in-docker
- 目标
- 通过自己的域名访问博客
- 前提准备
- ECS(必须)
- 证书(非必须)
- 域名(必须)
- docker与docker-compose的安装
- git的安装
- 步骤
- 在ecs中安装git、docker、docker-compose
- git clone https://github.com/liumapp/solo-in-docker
- 修改nginx与docker-compose配置文件
- 配置证书
- 启动并验证
本文由博客一文多发平台 OpenWrite 发布!