服务虚拟化(maven插件和docker插件)

服务虚拟化-dockerfile-maven-pluging使用手册(使用maven插件模式下)

使用该插件时,有一些注意事项

  1. 该插件依赖一台装有Docker daemon的机器完成镜像的构建
  2. 由于该插件需要访问Docker Host,因此要求Docker Host打开TCP管理端口,并允许访问

Docker Host开启TCP管理端口

  1. 修改docker服务主机上的文件

    vim /usr/lib/systemd/system/docker.service
    (如果没有上面这个文件,使用下面这个命令)
    vi /lib/systemd/system/docker.service
    

    找到ExecStart=所在的那一行,在之后添加:

    -H unix:///var/run/docker.sock -H tcp://0.0.0.0:2375
    

    重新加载并重启Docker,确认端口2375是否启用:

    systemctl daemon-reload
    systemctl restart docker
    netstat -an | grep 2375
    
  2. 使用该插件的机器需要配置DOCKER_HOST选项,指向Docker Host对应端口

windows下(添加系统变量)

set DOCKER_HOST=tcp://x.x.x.x:2375(如果这个环境变量没有生效。可以切换至IDEA的docker插件模式)

linux环境下(可尝试一下。但是我没试过)

export DOCKER_HOST=tcp://x.x.x.x:2375
  1. 该插件构建和发布镜像依赖于镜像仓库,需要用户提供镜像仓库的登录信息,支持POM设置和Settings设置(需要有maven环境)

    • IDEA的maven插件方式

      点击IDEA中的maven插件各服务的Plugins插件,有个名字叫dockerfile的插件,点击build就可以远程把镜像推到远程的docker中

    • 项目打包方式

      把pom中的goals注释打开。项目打包后会自动构建镜像上传至远程镜像。注意多次打包会导致docker服务器上有多个为none的镜像

    • 命令方式

镜像离线打包方式

  1. 使用命令多docker中的镜像打成压缩包
docker save -o test.tar saimo/icv-upgrade-sso2.3:0.0.1-SNAPSHOT
  1. 把压缩包传至其他离线环境,进行镜像加载,如:
docker load -i test.tar

镜像启动、删除命令

  1. 镜像启动命令

    #运行镜像脚本
    docker run --name=icv-upgrade-sso2.3  -d --net=host saimo/icv-upgrade-sso2.3:0.0.1-SNAPSHOT
    docker run --name=icv-upgrade-gateway2.3  -d --net=host saimo/icv-upgrade-gateway2.3:0.0.1-SNAPSHOT
    docker run --name=icv-upgrade-enterprise2.3  -d --net=host saimo/icv-upgrade-enterprise2.3:0.0.1-SNAPSHOT
    docker run --name=icv-upgrade-email2.3  -d  --net=host saimo/icv-upgrade-email2.3:0.0.1-SNAPSHOT
    
    
  2. 删除镜像命令

    #删除镜像脚本
    docker rmi saimo/icv-upgrade-sso2.3:0.0.1-SNAPSHOT
    docker rmi saimo/icv-upgrade-gateway2.3:0.0.1-SNAPSHOT
    docker rmi saimo/icv-upgrade-enterprise2.3:0.0.1-SNAPSHOT
    docker rmi saimo/icv-upgrade-email2.3:0.0.1-SNAPSHOT
    

容器停止、删除命令

  1. 容器停止并删除命令

    #删除容器,停止容器脚本
    docker stop icv-upgrade-sso2.3
    docker stop icv-upgrade-gateway2.3
    docker stop icv-upgrade-enterprise2.3
    docker stop icv-upgrade-email2.3 
    
    docker rm icv-upgrade-sso2.3
    docker rm icv-upgrade-gateway2.3
    docker rm icv-upgrade-enterprise2.3
    docker rm icv-upgrade-email2.3 
    

镜像打包命令

  1. 压缩镜像

    #镜像打包
    docker save -o icv-upgrade-sso2.3.tar saimo/icv-upgrade-sso2.3:0.0.1-SNAPSHOT
    docker save -o icv-upgrade-gateway2.3.tar saimo/icv-upgrade-gateway2.3:0.0.1-SNAPSHOT
    docker save -o icv-upgrade-enterprise2.3.tar saimo/icv-upgrade-enterprise2.3:0.0.1-SNAPSHOT
    docker save -o icv-upgrade-email2.3.tar saimo/icv-upgrade-email2.3:0.0.1-SNAPSHOT
    
  2. 解压镜像

    #解压镜像包
    docker load -i  icv-upgrade-sso2.3.tar
    docker load -i  icv-upgrade-gateway2.3.tar
    docker load -i  icv-upgrade-enterprise2.3.tar
    docker load -i  icv-upgrade-email2.3.tar
    

IDEA的docker插件模式下(使用maven插件模式下)

首先需要下载IDEA中的docker插件。搜索docker选第一个插件安装就可以(注:此方法不用配置系统环境变量)

配置打包参数

点击对应项目的dockerfile文件。安装完docker插件后文件样式变成可执行样式。

IDEA进行虚拟化

  1. 把项目达成jar包,修改dockerfile中的add语句,改为如下

    ADD target/icv-upgrade-enterprise2.3-0.0.1-SNAPSHOT.jar  /home/myapp.jar
    

    即改为相对目录下的jar包所在地。

  2. 点击文件左侧出现的可运行标志,选择编辑运行参数,点击server栏进行后的三个点,配置docker服务器

    选择TCP socket在URL中写

    tcp://x.x.x.x:2375
    

    写完后等一下,登台提示是否连接成功

    image tag中填写

    镜像名字:版本
    
  3. 最后点击运行即可在docker服务器中看见你上传的镜像

  4. 最后使用上面的命令运行docker即可

(注:对于不同项目的dockerfile都需要配置一下img tag。不然到时候会显示none)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值