• Docker命令实战-打包镜像并发布到docker hub


    1、将物理机开发的java应用打包成docker镜像

    1.1、以前如何发布应用

    Java为例
    ● SpringBoot打包成可执行jar
    ● 把jar包上传给服务
    ● 服务器运行java -jar

    1.2、使用docker后如何发布应用

    所有机器都安装Docker,任何应用都是镜像,所有机器都可以运行

    1、首选将idea中的java项目打包,并编写Dockerfile文件

    FROM openjdk:8-jdk-slim
    
    LABEL maintainer=zhansan
    
    COPY java-demo-0.0.1-SNAPSHOT.jar /app.jar
    
    ENTRYPOINT ["java","-jar","/app.jar"]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    在这里插入图片描述

    2、将上述jar和Dockerfile文件上传到服务器

    在这里插入图片描述
    3、使用命令将代码打包成镜像

    # java-demo:v1.0 指的是打包后的镜像名及版本
    docker build -t java-demo:v1.0 .
    
    • 1
    • 2

    在这里插入图片描述

    4、查看镜像是否打包成功

    在这里插入图片描述5、启动容器

    docker run -d -p 8080:8080 java-demo:v1.0
    
    • 1

    在这里插入图片描述6、查看容器是否启动成功

    docker ps
    
    • 1

    在这里插入图片描述
    7、查看容器日志

    # -f是实时查看的意思
    docker logs -f 容器id
    
    • 1
    • 2

    在这里插入图片描述

    2、将自己的镜像推送到镜像仓库

    下边案例是将自己的镜像推送到docker hub中

    1、首先登录docker hub

    docker login
    
    • 1

    在这里插入图片描述
    2、给旧镜像起名

    docker tag java-demo:v1.0  zhangsan/java-demo:v1.0
    
    • 1

    在这里插入图片描述
    在这里插入图片描述

    4、推送到docker hub

    docker push zhangsan/java-demo:v1.0
    
    • 1

    在这里插入图片描述5、到docker hub查看是否推送成功
    在这里插入图片描述
    6、别的机器拉取刚刚推送到docker hub上的镜像

    docker pull zhangsan/java-demo:v1.0
    
    • 1

    在这里插入图片描述

    7、别的机器运行刚刚从docker hub上拉取的镜像

    docker run -d -p 8080:8080 --name myjava-app zhangsan/java-demo:v1.0 
    
    • 1

    在这里插入图片描述
    8、在服务器上访问到另外一塔服务器部署的应用
    在这里插入图片描述

    3、docker上部署中间件(Redis)

    部署一个Redis+应用,尝试应用操作Redis产生数据

    • 创建容器
    docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
    
    # redis使用自定义配置文件启动
    # 将容器内Redis配置文件挂载到宿主机:-v /data/redis/redis.conf:/etc/redis/redis.conf
    # 将容器内Redis数据挂载到宿主机 /data/redis/data:/data
    
    docker run -v /myregister/redis/redis.conf:/etc/redis/redis.conf \
    -v /myregister/redis/data:/data \
    -d --name myredis \
    -p 6379:6379 \
    redis:latest  redis-server /etc/redis/redis.conf
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 修改redis配置文件(在宿主机上修改)
      设置redis可以记录数据、给redis设置密码

    在这里插入图片描述

    • 重启redis
    docker restart redis
    
    • 1
  • 相关阅读:
    124. 使用函数节流思想避免 SAP UI5 应用里按钮短时间内被高频重复点击
    动手测起来!搭载全自研数据库内核,我们将性能提升了20%
    轻松学会结构栈
    要想增加流量需要做的几点,淘宝运营新手必看的免费流量小知识
    Java工程师的工资高吗?一般多少钱?
    使用VSCODE快速搭建ESP32的ESP-IDF开发环境(Windows 版本)
    C++面试八股文:技术勘误
    简介:基于 OpenTiny 组件库的 rendereless 无渲染组件架构
    Java 实现分布式定时任务
    十七、【渐变工具组】
  • 原文地址:https://blog.csdn.net/qq_46112274/article/details/126148922