docker部署

Docker通过jar包部署并运行

1. 上传jar到服务器的指定目录

2. 在该目录下创建Dockerfile 文件

        vim Dockerfile
    注意:
        X86和ARM 的jdk版本不一样

        X86的Dockerfile文件如下:

        FROM java:8
        MAINTAINER bingo
        ADD demo-0.0.1-SNAPSHOT.jar demo.jar
        EXPOSE 8080
        ENTRYPOINT ["java","-jar","demo.jar"]

    ARM的Dockerfile文件如下:

        FROM arm64v8/openjdk:8
        MAINTAINER duan
        ADD springBootDocker.jar demo.jar
        EXPOSE 8888   
        ENTRYPOINT ["java","-jar","demo.jar"]

    说明:

        from java:8   拉取一个jdk为1.8的docker image
        maintainer  作者是duan
        demo-0.0.1-SNAPSHOT.jar 就是你上传的jar包,替换为jar包的名称
        demo.jar  是你将该jar包重新命名为什么名称,在容器中运行
        expose  该容器暴露的端口是多少,就是jar在容器中以多少端口运行
        entrypoint 容器启动之后执行的命令,java -jar demo.jar  即启动jar
3. 创建好Dockerfile文件之后,执行命令 构建镜像


        docker build -t my/demo .


    注意最后的 .  表示 Dockerfile 文件在当前目录下
    my/demo  构建之后镜像名称

4. 镜像构建成功之后,就可以运行容器了

        docker run -d --restart=always --name demo -p 8080:8080  my/demo   

5. 一些常用的docker命令

        docker ps :查看正在运行中的容器
        docker ps - a :  查看所有的容器
        docker stop/start 容器名 :启动停止容器
        docker rm 容器id:删除容器
        docker images: 查看镜像
        docker rmi 镜像id:删除镜像

通过jdk容器进行部署

####原理:
原理其实是运行一个java镜像,运行时 通过java -jar 命令进行启动。每次更新可以更换对应的jar,重启容器就可以

启动命令:

docker run -d  --restart=always -v /project/xxl_job:/jar -v /project/xxl_job:/project/xxl_job -p 8080:8080 --name xxl-job java /usr/bin/java -jar -Duser.timezone=GMT+08 /project/xxl_job/xxl-job.jar
  • -v /project/xxl_job:/project/xxl_job :宿主机目录:docker容器虚拟目录
  • -p 8080:8080 :对外暴露端口:docker容器真实目录
  • –name xxl-job 容器的名字
  • java /usr/bin/java -jar java指的是下载的java镜像 后面是启动命令
  • -Duser.timezone=GMT+08 指定的时区

通过maven插件自动化部署

待补充


   转载规则


《docker部署》 duan 采用 知识共享署名 4.0 国际许可协议 进行许可。
  目录