docker部署java项目(war包方式)

场景描述:java项目war包,在开发开电脑上使用dockerfile构建镜像,上传镜像到客户服务器中使用docker加载docker镜像,然后部署。
 

目录

一、本地环境安装

docker

git

二、服务器环境安装

docker

三、构建docker镜像(win系统)

四、注意事项

(1)系统架构

(2)使用dockerfile构建失败

(3)数据卷挂载

(4)多容器之间共享数据

(5)docker部署服务之间的通信

(6)获取客户端ip

(7)查看日志

(8) 宿主机和容器之间文件拷贝

(9)容器中的文件修改

(10)idea中使用docke

一、本地环境安装

docker

(1)本地开发电脑中要安装docker

        链接下载

        https://docs.docker.com/desktop/install/windows-install/

(2)安装docker

        docker官方有详细的安装步骤,可视化安装和命令安装都非常详细,就在下载链接中拉到最下即可看到。

(3)验证

docker --version #出现版本号代表安装完成

git

(1)下载https://git-scm.com/download/ (这里演示win 64-bit)

(2)下载完成后安装即可,点击下一步即可

(3)在IDEA中使用Git

在IDEA中使用Git,本质上还是使用的本地安装的Git软件,所以需要在IDEA中配置Git。

(4)IDEA中使用Git,本地项目初始为仓库推送到远程仓库

项目初始为git本地仓库、项目内容提交到本地仓库、关联远程仓库、提交到远程仓库

1.项目初始化为本地仓库,在IDEA中打开一个项目,按下图步骤操作,弹出对话框,选择要初始化为本地仓库的项目文件夹,点击确认

2.项目内容提交到本地仓库,完成第一步IDEA右侧上面会出现绿色对勾,点击对勾

 3.本地仓库提交到远程仓库,点击Push弹出对话框

4.此时Push,IDEA会报一个错误,意思就是本次推送内容被拒绝,意思就是本地仓库和远程仓库版本不一样,文件信息不一样(比如远程仓库中有的文件,本地没有,那么直接push,本地覆盖远程的,肯定不允许),所以要先拉取远程仓库的版本信息,和远程仓库的文件合并到本地

只需要在IDEA中点击Terminal按钮,依次输入以下3条命令

git pull
 
git pull origin master
 
git pull origin master --allow-unrelated-histories
 
第一句:用于从远程获取代码并合并本地的版本。 
第二句:将远程主机 origin 的 master 分支拉取过来,与本地的当前分支合并。
第三句:合并

5.此时再次Push就可以把本地仓库的内容推送到远程仓库

IDEA顶部工具栏VCS->Git->Push->Push

二、服务器环境安装

docker

(1)安装docker 

        使用 yum install docker-ce 命令安装

        安装完成后启动docker 使用service docker start 命令

(2)验证使用docker -version 出现版本号代表安装完成

三、构建docker镜像(win系统)

(1)编写docker file

       如在D:/docker/目录下存放ROOT.tar , 同时在D:/docker/目录下创建dockerfile1.txt

      FROM:基础镜像

      COPY:把当前目录下ROOT.war  拷贝到容器的/usr/local/tomcat/webapps/(这个路基不用修改)

      EXPOSE:容器对外暴漏的端口

      CMD:容器启动时执行的命令

FROM tomcat:9.0

COPY ROOT.war /usr/local/tomcat/webapps/

EXPOSE 9090

CMD ["catalina.sh", "run"]

 (2)构建镜像

        -t :要构建的镜像名字

        -f:指定docker file

        . :当前目录

docker build -t nginx:1.0  -f dockerfile1 .#构建镜像

 (3)镜像归档

        -o:下载的位置,可以写全路径如D:/test/cadre.tar,不写路基就指当前目录

        cadre:1.0:镜像版本

docker save -o nginx.tar nginx:1.0 #dockerfile构建好的镜像下载到开发机器上

(4)加载一个镜像

        构建好的镜像已下载到你开发的机器上,将这个镜像tar包发送给客户后,客户上传到服务器上使用如下命令将镜像加载到本地docker仓库

docker load -i nginx.tar 

(5)将一个正在运行的容器,成为一个新的镜像

docker commit -m="提交的描述信息" -a="作者" 容器id 镜像名:版本号
如下
docker commit -m="add vim命令" -a="没有腰的嘟嘟嘟" 237123hjgj23s nginx:2.0

(6)启动容器

docker run -d -p 9090:8080 --name n
  • 22
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

没有腰的嘟嘟嘟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值