通过 Docker 安装 solo 博客

  |   0 评论   |   0 浏览

使用Docker 安装 Mysql

通过 https://hub.docker.com/ 访问 dockerhub,搜索 Mysql 的镜像

image.png

image.png

image.png

这边选择 8.0 的版本, 直接复制命令

执行命令,等待下载完成

image.png

下载完成之后,点击 Description ,然后往下翻,可以看到启动 mysql 容器的命令

image.png

复制,然后做一下修改

docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8.0
  • -p : 设置端口映射,把容器的 3306端口映射到系统的 3306 端口
  • --name: 设置容器名称
  • MYSQL_ROOT_PASSWORD:自定义root 密码
  • -d: 表示在后台运行容器,并且打印容器ID

最后 mysql:8.0 表示使用哪个镜像, ': '后面的代表版本号

至此,mysql 安装完成

不过,因为 solo 需要数据库中有 'solo' 的库,所以需要自己访问数据库,建 'solo' 库

进入 mysql 容器

 sudo docker exec -it mysql /bin/bash

image.png

如上图,已经进入容器中。

然后通过命令访问mysql

mysql -u root -p

image.png

然后输入密码

image.png

如上图,已经进入 Mysql

创建数据库

create database solo;

创建成功,然后查看是否创建

show databases;

image.png

以上,数据库的部分就完成了

使用docker 安装 solo

获取 solo 镜像文件

docker pull b3log/solo

然后启动容器

image.png

从官方文档上,复制命令,并根据实际环境做一些修改,原命令如下:

docker run --detach --name solo --network=host \
    --env RUNTIME_DB="MYSQL" \
    --env JDBC_USERNAME="root" \
    --env JDBC_PASSWORD="123456" \
    --env JDBC_DRIVER="com.mysql.cj.jdbc.Driver" \
    --env JDBC_URL="jdbc:mysql://127.0.0.1:3306/solo?useUnicode=yes&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true" \
    b3log/solo --listen_port=8080 --server_scheme=http --server_host=localhost --server_port=

需要更改项如下:

  • JDBC_URL: 数据库的ip地址
  • --listen_port: 端口号,根据自己需要进行修改
  • --server_host: 修改成自己的服务器的ip

由于需要知道 数据库的ip ,所以我们这边通过 docker 的命令查看 mysql 容器的ip ,一般通过 容器的ip 才能访问到数据库;如果容器做了端口映射,并且可以通过服务器的ip 地址访问到,也可以配置成服务器的ip地址。

不过一般数据库不建议允许外网访问,因为会有被暴力破解密码的风险。

所以这里通过 docker 命令来查看mysql 容器的ip 。

先运行docker --help, 找到那个命令的名字,不太好记

docker --help

image.png

然后运行

sudo docker inspect mysql

image.png

ip 地址如上所示

所以最后官方的命令可以修改成如下:

docker run --detach --name solo --network=host \
    --env RUNTIME_DB="MYSQL" \
    --env JDBC_USERNAME="root" \
    --env JDBC_PASSWORD="123456" \
    --env JDBC_DRIVER="com.mysql.cj.jdbc.Driver" \
    --env JDBC_URL="jdbc:mysql://172.17.0.2:3306/solo?useUnicode=yes&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true" \
    b3log/solo --listen_port=80 --server_scheme=http --server_host=localhost --server_port=

上面的 --server_host 根据自己的服务器ip或域名自行更改

然后回车运行即可,最后通过服务器ip或者域名即可访问自己的solo。


标题:通过 Docker 安装 solo 博客
作者:zh847707713
地址:http://lovehao.cn/articles/2020/11/27/1606447681480.html