[图片] 一年之前就部署过 solo,那时候还是还没有那么多的注册方式。当时部署的结构非常简单:tomcat+solo.war 使用了内嵌的 H2 数据库 那时候还没有学习 nginx,还只是 Tomcat 一把梭 docker 拉去 solo 镜像都是可以参考官方文档的上面的步骤 如下图 [图片] 但是如果是使用 n ..

使用 docker 部署 solo 中的一个坑

一年之前就部署过 solo,那时候还是还没有那么多的注册方式。当时部署的结构非常简单:tomcat+solo.war 使用了内嵌的 H2 数据库
那时候还没有学习 nginx,还只是 Tomcat 一把梭
docker 拉去 solo 镜像都是可以参考官方文档的上面的步骤 如下图
image.png
但是如果是使用 nginx 下面就是启动做反代的朋友一定要注意的是 docker run 后面的一个参数 --network=host
对于这个参数表示的是 host 网络模式,所有容器端口都对应属主机端口,不存在映射关系
也就是说如果设置了这个参数和--listen_port= 项目端口号 这个参数 solo 就单独占用了宿主机的项目端口号
我 pull 的是 docker/io 最新的 nginx 折腾了半天从日志中发现它无法反向代理http://127.0.0.1本主机的端口,日志中都显示连接失败,访问被拒绝
解决办法就是去掉--network=host 这个参数 这时候默认就使用 docker 的方法 顺便机上-p 项目端口号:项目端口号 的端口映射
待此容器启动成功后查看这个容器的 ip 这个网上教程一搜一大把
在 nginx.conf 中反向代理一下IP:项目端口号
如果没有配置错误那基本上就没有问题了

好了,以上就是我遇到的一个坑,希望是可以帮助大家的

顺便说一句,docker 真是好用!

  • Docker

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app)。几乎没有性能开销,可以很容易地在机器和数据中心中运行。最重要的是,他们不依赖于任何语言、框架或包括系统。

    300 引用 • 707 回帖 • 535 关注
  • Solo

    Solo 是一款小而美的开源博客系统,专为程序员设计。

    Solo 有着非常活跃的社区,可将文章作为帖子推送到社区,来自社区的回帖将作为博客评论进行联动。

    这是一种全新的网络社区体验,让热爱记录和分享的你不再感到孤单!
    具体细节请浏览 B3log 构思

    1005 引用 • 7688 回帖 • 650 关注
回帖
请输入回帖内容...