【Docker应用篇】Docker部署JavaWeb项目(War包)

1.上传项目到服务器

1.1 本地打包(war包)上传

在这里插入图片描述

或者通过maven命令打包

mvn clean 清楚产生的项目
mvn  package -Dmaven.test.skip=true 打包不测试

1.2 上传到代码仓库,服务器拉取,编译

添加.gitignore文件过滤不需要上传的文件

target/
!.mvn/wrapper/maven-wrapper.jar

### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans

### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr

### JRebel ###
rebel.xml

### MAC ###
.DS_Store

### Other ###
logs/
temp/

在这里插入图片描述

add本地仓库缓存区—>commit提交到本地仓库—>push到远程仓库

添加maven环境,打包

2. 打包上传到本地镜像库

2.1 构建本地镜像

进入到上传文件的目录
cd usr/local/docker

新建images文件夹
mkdir images

进入到targer目录
cd targer

进入到my-shop-web-admin-1.0.0-SNAPSHOT目录
cd  my-shop-web-admin-1.0.0-SNAPSHOT

打成tar包,构建Dockerfile时ADD命令会自动解压.gz文件
tar -czvf myshop.tar.gz .

myshop.tar.gz移动到images文件夹中
mv myshop.tar.gz ../../images

cd ../../images

2.2 新建Dockerfile文件

touch Dockerfile 
vim Dockerfile

文件内容为

FROM tomcat  FROM 指定此docker需要依赖的docker image,
 
WORKDIR /usr/local/tomcat/webapps/ROOT  工作空间

RUN rm -rf *   分层执行shell操作

ADD myshop.tar.gz  /usr/local/tomcat/webapps/ROOT  添加本地文件到远程目录下

WORKDIR /usr/local/tomcat       切换工作空间

2.3 打包(Dockerfile目录下执行)

docker build -t 172.16.0.194:8082/myshop .

-t 参数是指定此镜像的tag名
172.16.0.194:8082/myshop:表示镜像库的ip与端口
. :表示Dockerfile文件在当前目录

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-G2OBr2re-1623743790633)(http://cdn.panyucable.cn/zysheep/docker5.png)]

2.4 查看本地镜像

docker images

在这里插入图片描述

2.5 提交镜像到仓库

docker push 172.16.0.194:8082/myshop

在这里插入图片描述

注意: 执行上面操作时必须配置 Docker Registry 客户端。

2.6 配置 Docker Registry 客户端

我使用的是 Ubuntu Server 16.04 LTS 版本,属于 systemd 系统,需要在 /etc/docker/daemon.json 中增加如下内容(如果文件不存在请新建该文件)

{
  "registry-mirrors": 
    [
        "https://registry.docker-cn.com",
        "http://hub-mirror.c.163.com",
        "https://pee6w651.mirror.aliyuncs.com"
    ],
  "insecure-registries": 
   [
    "ip:5000"
   ]
}

# registry-mirrors:国内镜像加速器
# insecure-registries: 用于识别服务端     (192.168.40.136:5000)服务端

注意:该文件必须符合 json 规范,否则 Docker 将不能启动。

之后重新启动服务。

systemctl daemon-reload

systemctl restart docker

2.6.1 检查客户端配置是否生效

使用 docker info 命令手动检查,如果从配置中看到如下内容,说明配置成功(192.168.75.133 为我的 IP)

Labels:
 Experimental: false
 Insecure Registries:
  192.168.40.136:5000
  127.0.0.0/8
 Registry Mirrors:
  https://registry.docker-cn.com/
  http://hub-mirror.c.163.com/
  https://pee6w651.mirror.aliyuncs.com/

3 拉取远程库镜像

新建docker-compose.yml文件,内容为

version: '3.1'
services:
  myshop:
    restart: always
    image: 172.16.0.194:8082/myshop_admin
    container_name: myshop_admin
    ports:
      - 8084:8080

3.1 启动容器

docker-compose up -d 以守护态后台启动

4. 访问网站

在这里插入图片描述

  • 4
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

李熠漾

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

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

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

打赏作者

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

抵扣说明:

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

余额充值