- A+
所属分类:linux技术
1、首先你需要提前准备好jar包或者war包,并想办法放入Linux环境(或虚拟机)中;
2、java项目的部署需要用到Tomcat或者Jetty,docker可以直接拉取他俩的镜像,这里以Tomcat为例:
# : 后面需要加上war或者jar对应的Tomcat版本,最好加上, # 否则默认最新的版本--latest,会出现版本不兼容的问题 docker pull tomcat:9.0.35 # 查看docker的镜像 docker images
3、接下来需要创建一个tomcat的容器:
# "your-container" 是容器名,tomcat:9.0.35是镜像名 # 第一个端口号8088是实际要访问的端口号 # 第二个端口号8080是tomcat服务器默认的端口号 docker run -p -d 8088:8080 --name your-container tomcat:9.0.35
4、创建后需要将war包或者jar包移动到tomcat容器(your-container)中的webapps下,或者采用挂载的方式
--- 方式一:非挂载 # 进入tomcat容器 # containerId为容器实际id,可通过docker ps -a命令查看 docker exec -it containerId /bin/bash # 这样就会进入tomcat容器的目录,一般都是/usr/local/tomcat, # 进入后确定webapps的路径,基本就是在当前目录下,即/usr/local/tomcat/webapps # 确定webapps的路径后退出 exit # 假设你的java项目为myWeb.war,位于/path/myWebProj/myWeb.war # containerId为tomcat容器实际id # 复制后并重命名为ROOT.war(可以不重命名) docker cp /path/myWebProj/myWeb.war containerId:/usr/local/tomcat/webapps/ROOT.war # 重启容器 docker restart your-container # 查看日志——可以看到运行war的输出日志,不报错基本没问题 docker logs your-container # 浏览器输入地址查看即可 # localhost是你服务器地址,这里是本地,否则是你当前服务器的ip # 8088是在docker run的时候设置的接口映射,映射为tomcat的8080端口 http://localhost:8088
--- 方式二:挂载 # 挂载方式更加简洁 # 下述命令可以堪称上述3-4命令的集合 # 当然仍然要保证tomcat容器下webapps的路径正确 docker run -p -d 8088:8080 --name your-container -v /path/myWebProj/myWeb.war:/usr/local/tomcat/webapps/ROOT.war tomcat:9.0.35 # 重启容器 docker restart your-container