将一个WordPress站点移到Docker,最终移动到一个服务器

我一直在为我的实习工作一个WordPress网站,而且我的上级要求我试着将它包装起来,以便将来更新更方便。 他们build议我使用Docker。

现在我的本地机器(Mac)上运行的网站,最终我将不得不将其迁移到公司服务器,以取代当前的网站。 我有几个关于这个问题。

  • Docker是这个任务的正确工具吗?
  • 集装箱化究竟有什么贡献?
  • 我应该在将站点移动到服务器之前还是之后将站点移动到Docker?
  • 我见过很多指南使用Nginx。 我到底需要什么?
  • 我应该如何去更新url?
  • 我应该如何去取代预先存在的网站?

任何帮助或方向有用的资源将不胜感激。 先谢谢你!

1. Docker是这个任务的正确工具吗?

是。 CoreO团队还有另外一个select。 但是它不像Docker那么受欢迎

2.什么是集装箱化的贡献?

容器化意味着,您正在打包需要运行应用程序以及应用程序的必要软件。 你最终的神器将不再是一个jar / war文件,而是一个Docker镜像。 集装箱化解决的问题是“它在我的机器上工作(我不知道生产)”的经典问题“。 换句话说,它给了你不可变的基础设施(最好是这样的,不要在容器中改变容器中的东西)

3.在将站点移动到服务器之前或之后,我应该将站点移动到Docker吗?

之前…你应该开始使用Docker进行开发,那么对你来说会更容易。 请记住,Docker正在解决一个问题“它在我的机器上运行”

4.我见过很多指南使用Nginx。 我到底需要什么?

如果你有一个静态网站,只涉及HTML CSS和JavaScript,你可以使用nginx来托pipe你的网站。 但是,如果你的网站有一些dynamic的内容,并且你需要一个服务器端技术(比如java nodejs,php,go或者cgi ..那么你就得到了这个图片)。 Nginx也可以用作前端代理。这是一个完全不同的话题

5.我应该如何去更新url?

我希望你在你的企业中有一个DNS系统,如果是这样的话,你可以要求他们把它重新命名为新的IP(如果你打算把它部署到一个新的服务器上)。 或者只是购买一些停机时间,降低旧的应用程序,并在同一台机器和相同的端口号提出新的shiny的Dockerised应用程序。

6.我应该如何去取代先前的网站?

这取决于你的网站,取决于你使用的是什么样的技术。

  • 它是一个静态网站 – 你可以在Docker容器中使用nginx
  • 它是Java吗? 你可以使用OpenJDK-Alpine(只是我的意见)泊坞窗图像
  • 等等..

更新url
一个好的做法是在你的代码中定义一个baseURL ,并使用baseURL + "path"来形成其他的URL。 例如:

 baseURL = "https://example.com/" blogURL = baseURL + "blog" document.getElementById("old-url").innerHTML = blogURL // now if you need to change your domain to .org instead of .com, you can just change baseURL to your new domain name baseURL = "https://new-example.org/" blogURL = baseURL + "blog" document.getElementById("new-url").innerHTML = blogURL 
 <html> <body> OLD BLOG URL is: <div id="old-url"></div> <br> NEW BLOG URL is: <div id="new-url"></div> </body> </html>