将halo项目部署到自己的docker

yuanheci 2022年11月22日 317次浏览

今天又花了大半天捣鼓docker,试了好几次 … 。之前竟然启动容器的时候是把数据库挂载到了宿主机,害死人。这回是真正的完全放在docker中了,到时候tx云到期了可以还提着docker跑路,终于能放心用这个博客了。唯一可惜的是域名配置有点问题,哎下回再看吧。


记一下容易出错的地方

  • 进入docker之后退出的话要用ctrl-p + ctrp-q, 这样是挂起容器,直接退出的话容器会停止。如果某天ssh连接不上了,记得去看看容器挂了没。。。
  • 布置自己的容器的方式:首先在宿主机中用一个docker镜像板子创建一个空容器,然后在容器中安装相关内容即可,这里是按照halo官网进行了安装。然后得到jar包后直接开tmux,跑在tmux里面后退出就不会中断了(可以省后续不少步骤_
    image
  • docker容器启动的时候记得把要用的端口暴露出来做端口映射,如 -p 20001:22 (宿主机的20001端口映射到容器的22端口,用于容器的ssh登录), -p 8090:8090 (halo博客项目的运行端口是8090,也要暴露出来)。如果容器的端口不暴露出来,外面网络是访问不到容器内部的服务的!
  • nginx也是一个服务器,所以当nginx装在宿主机监听80端口,然后在启动容器时映射80端口时,就会报端口被占用错误,因此当nginx装在宿主机时,容器不需要映射80端口和443端口。kob项目中是因为将nginx也装在了docker容器中,因此可以映射80端口和443端口。

最后来一张tmux中的运行截图,完结撒花❀

image-1669109803113