您当前的位置: 首页 >  docker

陈橙橙丶

暂无认证

  • 2浏览

    0关注

    107博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

【docker的那些事】Dockerfile构建并推送到阿里云仓库

陈橙橙丶 发布时间:2022-03-25 17:21:42 ,浏览量:2

场景

假如我有一个springboot的项目,在传统的方式去部署,我需要一台linux服务器,并且在服务器上安装配置jdk等操作,当然对于springboot的项目来说只需要这样,然后执行 java -jar或者 nohup java -jar去执行。

我们在编写一个DockerFile的时候,我们会怎么去考虑呢?比如:

我有一个Spring Boot项目(这也是比较简单的,直接运行jar包好),我希望把这个项目编制成image,然后把这个image给你,你也能够运行成。

1.准备一个Spring Boot项目

2.给他编译成jar

3.java -jar xxx.jar

4.mvn clean package

6.构建image

7.push到仓库给别人pull

我们现将项目打成jar包(后续会介绍从git上进行构建)传到装有docker的服务器上,并添加Dockerfile文件

在这里插入图片描述

#基础镜像
FROM openjdk:8 

#维护者
MAINTAINER orange

#标签
LABEL name="dockerfile-demo" version="1.0" author="jack"

#复制jar包至image,此处我将Dockerfile文件放在与jar同级目录并取名为dockerfile-image.jar
COPY docker-demo-0.0.1-SNAPSHOT.jar dockerfile-image.jar

#RUN 是执行linux的命令
#RUN

#执行命令
CMD ["java","-jar","dockerfile-image.jar"]




执行命令

docker build -t test-docker-image .

进行image构建

-t 镜像名字为 test-docker-image

. 表示使用当前目录的Dockerfile

在这里插入图片描述

发现进行构建image了,这里可能需要等待一会,因为需要去下载openjdk8.

构建完之后,查看image,发现构建完成。

docker images

在这里插入图片描述

我们执行一下试试

docker run -d --name hello-docker -p 9527:9527 test-docker-images

查看是否运行

docker ps

在这里插入图片描述

请求接口

curl -X GET "http://ip:你的端口/接口路径"

查看日志是否请求到,我这里是在控制台进行了打印所以需要查看日志,也可以返回一些json串来作为反馈。

docker logs 3c4db9757338 

在这里插入图片描述

到此,简单的docker构建本地项目就完成了。那么我们接下来就行需要push到docker仓库。

push到仓库

登录docker,如果没有账号的自行注册一个就行:docker地址

docker login

会提示输入用户名和密码,照着操作就行

进行push

docker push test-docker-images

在这里我们直接push他肯定会报错,因为我们需要指定push哪个用户下的哪个仓库。

我们首先生成一个副本

docker tag test-docker-images wodyiyi/test-docker-images:v1.0

再次进行push

docker push wodyiyi/test-docker-images:v1.0

这个时间比较久,在push完成后,可以在进行pull看看能不能拉取到

docker pull wodyiyi/test-docker-images:v1.0

发现也能成功

enenenen…发现贼吉尔慢。。。我们在阿里云自己建一个仓库push上去

创建阿里云docker仓库。

这里我们在安装docker的时候其实已经对docker进行配置了镜像加速,有兴趣的可以参考另一篇文章:Docker安装和镜像加速

登录阿里云:点击跳转,依然找到链接文章中的容器镜像服务,在实例列表中点击个人实例可以看到,可以自行创建一个命名空间 在这里插入图片描述

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

退出之前的dockerhub的登录

docker logout

登录阿里云镜像仓库

sudo docker login --username=你的阿里云账号 registry.cn-hangzhou.aliyuncs.com

将image进行tag 成阿里云的

docker tag test-docker-images registry.cn-hangzhou.aliyuncs.com/orange-docker/test-docker-images:v1.0

进行push

docker push test-docker-images registry.cn-hangzhou.aliyuncs.com/orange-docker/test-docker-images:v1.0

在这里插入图片描述

可以发现推送成功

关注
打赏
1648473527
查看更多评论
立即登录/注册

微信扫码登录

0.0845s