【docker笔记8-镜像推送】
docker笔记8-镜像推送
- 一、基本命令
- 二、案例
- 1.Java demo
- 2.打包镜像
一、基本命令
(1)推送镜像到远程仓库
docker tag local-image:tagname new-repo:tagname
docker push new-repo:tagname
这里首先要登录到docker,然后需要输入登录用户名和密码,如果是直接使用谷歌账号登录得docker官网,那么这里需要使用google账号和密码
docker login
推送完以后可以到docker hub的个人仓库上看到这个镜像
二、案例
需求:将一个java的demo打包,并通过Dockerfile来将这个demo转化为一个镜像,通过启动这个镜像从而启动项目。
1.Java demo
这个一个最基础的基于springboot的项目,项目启动后,通过调用http://xxx.xxx.xxx.xxx:8090/test
接口,最后打印:“Hello World”
。
2.打包镜像
(1)首先找到项目打包的地址,并将打包的项目已经Dockerfile文件复制到服务器实例中。
这里的Dockerfile文件编写:
FROM openjdk:8-jdk-slim
LABEL maintainer=leifengyang
COPY target/*.jar /app.jar
ENTRYPOINT ["java","-jar","/app.jar"]
(2)然后,执行如下命令,程序会根据Dockerfile将整个demo的jar包转化为镜像:
docker build -t java-demo:v1.0 .
(3)启动容器
docker run -d -p 8080:8080 --name myjava-app java-demo:v1.0
(4)推送镜像
# 登录docker hub
docker login
#给旧镜像起名
docker tag java-demo:v1.0 leifengyang/java-demo:v1.0
# 推送到docker hub
docker push leifengyang/java-demo:v1.0
# 别的机器
docker pull leifengyang/java-demo:v1.0
# 别的机器运行
docker run -d -p 8080:8080 --name myjava-app java-demo:v1.0