上节课我们已经将静态项目上传到ubuntu的nginx根目录下了,但是如果是动态站项目,那部署无疑是非常麻烦的问题,各种环境的配合与jar包的导入都是容易致命的因素。我们使用docker将动态站项目部署到服务器上就非常简单了。

1、在ubuntu上安装docker

sudo apt-get install docker.io

2、拉取tomcat的镜像(里面包含jdk的镜像)

  所有的镜像我们可以在网易的镜像仓库找到,这是中国的仓库地址,速度还是比较快的,网址是https://c.163.com/hub#/m/home/,如果需要登录,就登录后重新访问这个网址。镜像的所有内容我们也可以在镜像的详细介绍上看到。

sudo docker pull hub.c.163.com/library/tomcat:latest

3、创建文件夹并进入这个文件夹

sudo mkdir /home/docker
cd /home/docker

4、给这个文件夹赋予777权限

sudo chmod -R 777 /home/docker

5、将代码计算机上的项目复制到ubuntu上

  在客户机上使用ssh将项目的war包上传到服务器上来。在eclipse编辑器上导出war包,根据上节课的内容将war上传到服务器的/home/docker/文件夹中。

6、在ubuntu的docker中创建文件Dockerfile

sudo vi Dockerfile

  在新创建的文件中写入下面三个步骤:

from hub.c.163.com/library/tomcat:latest
MAINTAINER caixiaobai XXX@139.com

7、构建自己基于tomcat的镜像login

sudo docker build -t login .

  login是镜像的名字,最后面是构建的Dockerfile文件夹,本文件夹可以使用“.”代替,不要忽略这个点!。

8、将login镜像运行成容器

sudo docker run -d -p 8888:8080 login

  得到一串字符串,这个字符串就是容器的id,我们下一步还会用到。

9、将服务器上的项目war包复制到login容器

sudo docker cp /home/docker/Login.war [容器id]:/usr/local/tomcat/webapps/ROOT

8、访问tomcat测试

  以上的各种镜像信息均可在镜像仓库中看到,访问http://192.168.187.109:8888/Login/login.jsp即可访问成功。

9、使用nginx服务器反向代理

  在ubuntu上编辑nginx的配置文件:

sudo vi /etc/nginx/sites-enabled/default

  修改如下配置:

location /{
        proxy_pass http://localhost:8888/Login/
}

10、访问

  访问http://192.168.189.108/login.jsp就可以成功访问nginx,nginx将访问代理到tomcat镜像,访问成功。

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐