记录一下公司使用Docker部署项目全过程

前后端分离项目,开发工具:idea

第一步:

项目打jar包,target目录下 show in explorer 找到jar包位置,上传jar包到服务器自己建好的目录下/usr/local/docker/msi-mall/mall-admin/docker

这里我上传的命令是:

pscp -r D:\stuartwang\mall-admin-0.0.1-SNAPSHOT.jar [email protected]:/usr/local/docker/msi-mall/mall-admin/docker

pscp是上传文件到linux的工具,具体用法是打开cmd命令行工具,然后cd到pscp所在目录下(直接在文件夹路径打上“cmd”敲回车也可以),
然后上传文件的命令格式:
   pscp  -r {要上传的文件,相对路径或者绝对路径都可以}   [email protected]:/usr/local/docker(这里是用户名+“@”+linux服务器的ip地址+“:”+上传目标路径,目录需存在,工具不会自动创建没有的文件夹)   
敲回车后,会提示你输入用户密码,输完密码敲回车就能看到上传文件的进度

 

记录一下公司使用Docker部署项目全过程_第1张图片

记录一下公司使用Docker部署项目全过程_第2张图片

第二步:

编写Dockerfile

FROM 172.17.9.26/msic/openjdk:8u212-jre-alpine3.9

RUN mkdir /app

COPY mall-admin-0.0.1-SNAPSHOT.jar /app/app.jar

WORKDIR /app

ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app/app.jar","--spring.profiles.active=dev"]

 

第三步:

创建镜像 :   .  表示当前目录下创建

docker build -t mall-admin:1.0.0 .

第四步:

写docker-compose.yml

version: '3.1'
services:
  mall-admin:
    restart: always
    image: mall-admin:1.0.0
    container_name: mall-admin
    environment:
      - TZ=Asia/Shanghai
    ports:
      - 9001:9001
    logging:
      driver: "json-file"
      options:
        max-size: "1g"

  #networks:
  #  default:
  #   external:
  #    name: mall_network

 

第五步:

实现快速发布---------写脚本语言BuildWithExistJar.sh

#!/bin/bash
if [ ! -f "./mall-admin-0.0.1-SNAPSHOT.jar" ] ; then
  echo "..mall-admin-0.0.1-SNAPSHOT.jar..."
else
  docker-compose down
  docker build -t mall-admin:1.0.0 .
  docker-compose up -d
  noneImageCount=`docker images -q -f dangling=true`
  echo $noneImageCount
  if [ -z "$noneImageCount" ]; then
    echo "none images out is empty"
  else
    echo "none images out == $noneImageCount"
    docker rmi $(docker images -q -f dangling=true)
  fi
fi

 

第六步:

docker-compose后台启动运行容器

dokcer-compose up -d

第七步:快速发布

下次上传代码后直接上传jar包,运行脚本语言 :

./BuildWithExistJar

即可。。。。。。。。完!!!!!!!!!!!!!


      ******       ******
    **********   **********
  ************* *************
 *****************************
 *****************************
 *****************************
  ***************************
    ***********************
      *******************
        ***************
          ***********
            *******
              ***
               *

 

你可能感兴趣的:(docker,linux,docker,java,服务器,ubuntu)