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"]

Docker命令实战-打包镜像并发布到docker hub_第1张图片

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

Docker命令实战-打包镜像并发布到docker hub_第2张图片
3、使用命令将代码打包成镜像

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

Docker命令实战-打包镜像并发布到docker hub_第3张图片

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

Docker命令实战-打包镜像并发布到docker hub_第4张图片5、启动容器

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

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

docker ps

Docker命令实战-打包镜像并发布到docker hub_第5张图片
7、查看容器日志

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

Docker命令实战-打包镜像并发布到docker hub_第6张图片

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

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

1、首先登录docker hub

docker login

Docker命令实战-打包镜像并发布到docker hub_第7张图片
2、给旧镜像起名

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

在这里插入图片描述
Docker命令实战-打包镜像并发布到docker hub_第8张图片

4、推送到docker hub

docker push zhangsan/java-demo:v1.0

Docker命令实战-打包镜像并发布到docker hub_第9张图片5、到docker hub查看是否推送成功
Docker命令实战-打包镜像并发布到docker hub_第10张图片
6、别的机器拉取刚刚推送到docker hub上的镜像

docker pull zhangsan/java-demo:v1.0

Docker命令实战-打包镜像并发布到docker hub_第11张图片

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

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

在这里插入图片描述
8、在服务器上访问到另外一塔服务器部署的应用
Docker命令实战-打包镜像并发布到docker hub_第12张图片

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
  • 修改redis配置文件(在宿主机上修改)
    设置redis可以记录数据、给redis设置密码

在这里插入图片描述

  • 重启redis
docker restart redis

你可能感兴趣的:(云原生,docker,java,容器)