• 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
  • 相关阅读:
    K_A05_004 基于 STM32等单片机驱动2X2块(8X8)点阵模块(MAX7219)显示0-9与中文
    andlua怎么判断软件是否运行
    Unity--Configurable Joint——简单教程,带你入门可配置关节
    软件测试入门之接口测试
    freeswitch
    Fiddler 抓取 HTTPS 请求大全
    【SpringBoot自动装配之SPI机制&SPI案例实操学习&SPI机制核心源码学习】
    数据包的奇妙旅程:揭秘网络传输的7个关键步骤
    【微信小程序】picker-view嵌入页面的滚动选择器(84/100)
    css:为什么我设置宽高百分比不生效
  • 原文地址:https://blog.csdn.net/qq_46112274/article/details/126148922