美文网首页
Docker学习笔记(终)

Docker学习笔记(终)

作者: jauhwan | 来源:发表于2018-11-13 12:00 被阅读0次

    最后用Docker在服务器部署一个开源博客系统

    首先现在网上下载jpress的包

    下载jpress

    解压后编写Dockerfile文件

    编写dockerfile

    接着docker build 制作镜像,然后docker run运行镜像。

    运行docker容器

    接着我们访问服务器8080端口(记得开放防火墙,修改安全组)

    访问服务器

    由图中看到,jpress是可以成功访问的,但是jpress还依赖mysql,所以需要运行一个mysql容器。

    首先从镜像中心下载一个mysql镜像。

    下载mysql镜像

    在镜像中心看到mysql镜像启动可选参数。

    查看mysql启动可选参数

    运行docker run命令。

    运行mysql

    输入docker ps命令查看容器运行情况,可以看到两个容器都成功启动。

    查看容器运行情况

    接着我们访问服务器的8080端口下的jpress,发现jpress已经成功部署。

    访问服务器8080端口

    最后我们需要用域名访问博客的话,还需要用nginx做一层代理转发。

    首先我们需要启动nginx容器,然后进入容器内部找到nginx配置文件的地址。发现它在/etc/nginx/conf.d内

    查看nginx容器内部配置文件地址

    接着在服务器上创建一个conf.d文件夹,生成一个default.conf文件,复制nginx容器内部的default.conf文件的内容,然后修改里面代理的路径。

    在服务器创建default.conf

    server_name修改成自己的域名,然后再location下加上一句proxy_pass让nginx代理到宿主机ip的8080端口,这一步实现了nginx转发请求到tomcat容器。

    代理转发到tomcat

    接着输入sudo docker run -d -p 80:80 -v /develop/jpress/nginx/conf.d/default.conf:/etc/nginx/conf.d/default.conf hub.c.163.com/library/nginx:latest命令启动nginx容器,-v 参数表示把本地的文件挂载到容器内部,这样我们就不需要去到容器内部修改配置文件,只需要在本地修改配置文件。

    容器启动后,访问服务器ip,由于我域名还没有备案,所以我是用服务器ip访问的,可以看到nginx成功转发到了tomcat。

    转发到tomcat

    最后我们把代理转发到tomcat容器里面的jpress,继续修改本地的default.conf文件,修改如下图所示。

    修改default.conf文件

    修改好了defau.conf文件之后,我们继续访问服务器。

    但是出现了一个问题,页面的样式失效了,经过排查之后发现,原来是我没有转发js和css文件。

    访问服务器jpress

    那么我们需要在nginx的配置文件上加上对js和css文件的转发。

    修改完配置文件之后重新启动nginx容器。

    加上js和css还有图片的转发

    最后,我们去检查这次转发是否正确,访问服务器,发现这次代理转发是成功的!

    访问服务器

    这从从0开始学习docker,了解了docker的原理,docker的优势,一步一步用docker去实现了博客的搭建,发现docker是真的非常好用,省去了非常多配置服务器环境的工作。只需要安装一个docker,再从镜像中心拉取别人打包好的镜像,部署一个项目只需要几行命令,真的由衷的觉得docker的设计者太厉害了。

    相关文章

      网友评论

          本文标题:Docker学习笔记(终)

          本文链接:https://www.haomeiwen.com/subject/emzqfqtx.html