
-
准备docker环境
-
安装docker,根据自己系统查找安装命令,此处使用
Ubuntu系统curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
-
-
安装并启动
solo-
拉取solo镜像
docker pull b3log/solo -
通过镜像创建solo容器并启动,使用的是
H2 Database。启动在8080端口docker run --detach --name solo --volume ~/solo_h2/:/opt/solo/h2/ --publish 8080:8080 \ --env RUNTIME_DB="H2" \ --env JDBC_USERNAME="root" \ --env JDBC_PASSWORD="123456" \ --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= -
验证
#查看容器有没有启动 curl http://localhost:8080 -
使用
H2数据库,数据文件在~/solo_h2/目录下,注意备份
-
-
安装
nginx反向代理。默认启动在8080端口,如果想通过80访问,必须做一层代理,如果不需要代理可以跳过-
拉取
nginx镜像(如果不需要代理可以跳过)docker pull nginx -
查看
solo所在容器的ipdocker exec -it solo ip a -
根据ip准备
nginx配置文件nginx.conf,放到自己的目录/home/rxdu下vim /home/rxdu/nginx.conf -
配置文件内容,需注意 修改监听域名和跳转ip
worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; upstream backend { server localhost:8080; # Solo 监听端口ip也要改成自己的solo端口和IP } server { listen 80; server_name 88250.b3log.org; # 博客域名改成自己的 access_log off; location / { proxy_pass http://backend$request_uri; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; client_max_body_size 10m; } } } -
创建
nginx容器并启动。/home/rxdu/nginx.conf为第3步配置文件位置docker run -d --name nginx -p 80:80 -v /home/rxdu/nginx.conf:/etc/nginx/nginx.conf nginx
-