Docker 制作Java镜像,上传并部署私服。

本文不描述Docker是如何安装,如何运行hello-word,而是描述如果使用Docker制作自己的java镜像,并上传到镜像服务器,然后从公网拉取镜像,将拉取的镜像在本地运行成功,并可以web访问镜像里的java项目。

Docker 基础,安装教程;

1. 我们以Java项目为例,将一个已经打包好的SpringBoot项目可执行的jar包制作成镜像,并运行

  下面是我idea 创建好的一个测试项目的打包路径,我直接进入到项目的target目录了,idea打包后会在当前项目的target目录下生成可执行的jar,

下面我们来使用 demo-0.0.1-SNAPSHOT.jar 来制作镜像


2. 从Docker官网下载JDK镜像

docker pull frolvlad/alpine-oraclejdk8

下载完成

使用命令查看镜像

docker images

jdk8镜像已经下载到本地的镜像仓库了

3. 在项目的Target下编写Dockerfile 文件并保存

FROM frolvlad/alpine-oraclejdk8
VOLUME /tmp
ADD demo-0.0.1-SNAPSHOT.jar app.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

4. 在Target目录下执行镜像构建命令

docker build -t demo:latest .

5. 现在本地启动打包好镜像,看看镜像是否有没有问题

docker run -d -p 8080:8080 demo:latest -t    #运行镜像指定8080端口
docker ps #查看正在运行的docker容器



本地运行成功,说明镜像没有问题

6. 将镜像上传到网易云私有镜像服务器,注:需要注册网易云账户,注册成功后需要在本地终端登录网易云的镜像账号。

网易云推送本地镜像官方教程  先看一遍教程然后自己动手实操作一下

docker login -u 网易云用户名 -p 密码 hub.c.163.com

hub.c.163.com/neveryielding/demo

登录成功,给镜像打上网易云的标签

docker tag 镜像ID hub.c.163.com/你的网易云用户名/demo:0.1

推送到网易云仓库

docker push hub.c.163.com/你的网易云用户名/demo:0.1
推送成功

将网易云镜像仓库刚推送的镜像设置为公有

停止刚制作好的镜像在运行的Docker容器,并删除本地镜像,从网易云服务器远程拉取镜像,并运行。


最后注意容易运行的命令 通过 http://localhost:8080 即可访问该项目了

docker -d -p 8080:8080 demo:latset   #第一种启动方式

方式1:加了-d表示后台运行,不在当前控制台输出日志,需要用docker stop 容器id 来停止

docker -p 8080:8080 demo:latset -t   #第二种启动方式

方式2:表示前台运行启动会打印容器运行日志,类似于SpringBoot项目起订那样,关掉终端容器就自动停止

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值