10、Docker-dockerfile-部署web项目

2019-09-14  本文已影响0人  唯老

一、传统安装步骤

下载安装包

解压安装包

修改环境变量

测试是否安装成功

将app.war上传到tomcat下webapps

二、使用dockerfile安装

1、前期准备工作

  1. 去Oracle官网提前下载好所需的jdk(主要是官网通过命令下载比较不稳当,要身份验证)
  2. 上传宿主机的目录下


    image
# 宿主机创建好上传的目录
mkdir -p /home/webapp/
# 从本地上传到宿主机 /home/webapp/
scp /你的目录/jdk-8u221-linux-x64.tar.gz  用户名@你的服务器地址:/home/webapp/
# 解压jdk 解压的名字是jdk-8u221
tar zxvf jdk-8u221-linux-x64.tar.gz
# 在远程服务器创建
cd /home/webapp/
# 下载tomcat
wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-9/v9.0.24/bin/apache-tomcat-9.0.24.tar.gz
# 解压解压 tomcat
tar zxvf apache-tomcat-9.0.24.tar.gz
# 你需要部署的war包
scp /你的目录/app.war root@你的服务器地址:/home/webapp/

2、编写jdk的dockerfile

构建jdk

FROM ubuntu
ADD ./jdk-8u221-linux-x64.tar.gz     /usr/local/java/
# 配置java的环境变量
ENV JAVA_HOME /usr/local/java/jdk1.8.0_221
ENV CLASSPATH $JAVA_HOME/lib;$JAVA_HOME/jre/lib
ENV PATH $PATH:$JAVA_HOME/bin

构建镜像

docker build -t zw/ubuntu18-jdk8 ./

启动镜像

docker run -it zw/ubuntu18-jdk8 /bin/bash

测试环境变量

java -version
javac -version

3、安装tomcat

编写dockerfile

# 利用上一步生成的镜像
FROM zw/ubuntu18-jdk8
ADD apache-tomcat-9.0.24.tar.gz   /usr/local/tomcat/
# 配置tomcat环境变量
ENV CATALINA_HOME /usr/local/tomcat/apache-tomcat-9.0.24/
ENV CATALINA_BASE $CATALINA_HOME
ENV PATH $PATH:$CATALINA_HOME/lib:$CATALINA_HOME/bin
# 开放端口
EXPOSE 8080
# 启动容器的时候 启动tomcat
CMD ["catalina.sh", "run"]

构建镜像

docker build -t zw/ubuntu18-tomcat9  ./

运行镜像

docker run -d zw/ubuntu18-tomcat9

4、部署war包

使用-v参数将war包挂载至容器内的 tomcat/webapps目录

docker run -d -p 8080:8080 -v /home/webapp/app.war:/usr/local/tomcat/webapps/app.war --name
webapp zw/ubuntu18-tomcat9

三、完整版

FROM ubuntu
ADD ./jdk-8u221-linux-x64.tar.gz     /usr/local/java/
# 配置java的环境变量
ENV JAVA_HOME /usr/local/java/jdk1.8.0_221
ENV CLASSPATH $JAVA_HOME/lib;$JAVA_HOME/jre/lib
ENV PATH $PATH:$JAVA_HOME/bin
# tomcat配置
ADD apache-tomcat-9.0.24.tar.gz   /usr/local/tomcat/
# 配置tomcat环境变量
ENV CATALINA_HOME /usr/local/tomcat/apache-tomcat-9.0.24/
ENV CATALINA_BASE $CATALINA_HOME
ENV PATH $PATH:$CATALINA_HOME/lib:$CATALINA_HOME/bin
# 开放端口
EXPOSE 8080
# 启动容器的时候 启动tomcat
CMD ["catalina.sh", "run"]
上一篇下一篇

猜你喜欢

热点阅读