springboot学习记录之集成docker并发布到阿里云服务

今天来给大家说下怎么将本地的springboot项目docker化并且上传到阿里云的docker镜像服务上。

ps:本章主要关注发布流程的实现,技术细节您可以在下列的网址中找到:

docker指导手册

用 Docker 构建、运行、发布来一个 Spring Boot 应用

本文用的环境版本:
a) centos7 

b) jdk1.8

c) docker 1.12.6

d) springboot 1.5.6.RELEASE

1.创建springboot项目

网上例子很多,这里不在介绍。我只有一个类:

同时提供了一个restful接口。同时代码托管到阿里云code(git),当然你的代码可以是在github,或者是其他托管平台中。这个地方进行托管是有作用的,下面将会提到。

2.集成docker

a) 修改pom.xml


b)创建 dockerfile 文件

在src/main 下创建文件夹dockerfile,并在该文件夹中创建Dockerfile文件,阿里云对这个配置没有强制要求,但最好还是按标准来。


具体命令解释,我这里就不在说了,具体请看文章开头提到的参考资料。

3、进入阿里云docker镜像中心

a)注册相应账号

b)设置镜像仓库


填写相关资料,自此你应该明白了,他是通过类似jenkins的方式自动扫描你的代码仓库

创建成功:

4.构建镜像

选择你创建镜像,点击构建。如果成功:

当然修改项目之后重新提交它也会自动构建,是不是很舒服。

5.获取镜像并运行

由于我的是私有镜像因此必须登录远程仓库才行,

登录命令:docker login --username=[username] [address]

a)未获取之前

b)获取之后


c)运行该docker镜像
docker run -p [port]:[port] -t [name]

你可以通过 docker ps 查看正在运行的docker镜像:

你还可以通过docker logs -f [name]来查看某个镜像的运行日志:


访问:

我这里是配置了域名和解析的 具体操作以后会另起文章详解。

可以看到我们要的结果出来了。

6.中间出现的问题

a) dockerfile路径

如果错误,构建时会出现:


b)add 错误:


这是因为

1.我们打包时是在target文件下,这是不会上传的。

2.docker扫描文件指定的是 src/main/dokcer因此你在打包后还需将target文件下的jar文件拷贝到docker下,并且提交至git仓库

再次构建即可成功。


总结:

a).通过阿里的相关服务我们可以完整的搭建一个基于springboot的docker化的微服务。阿里给我们提供了一整套的解决方案。本文主要是讲流程,具体的细节会在以后文章中详细介绍。

b).用到的docker命令:
 1.docker stop [name]  停止

 2.docker logs -f [name] 查看日志

 3.docker ps    查看运行进程

 4.docker images  查看镜像

 5.docker run -p [port]:[port] -t [name] 运行进程

 6.docker pull [address] 获取镜像

 7.docker login --username=[name] [address] 登录镜像仓库

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Docker — 云时代的程序分发方式 要说最近一年云计算业界有什么大事件?Google Compute Engi...
    ahohoho阅读 15,693评论 15 147
  • 转载自 http://blog.opskumu.com/docker.html 一、Docker 简介 Docke...
    极客圈阅读 13,576评论 0 120
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,312评论 19 139
  • 0. 前言 docker是什么?docker是用GO语言开发的应用容器引擎,基于容器化,沙箱机制的应用部署技术。可...
    sessionboy阅读 9,253评论 2 49
  • git reset/revert 就是程序员的后悔药。主要总结了reset,懂了reset自然就懂了revert(...
    weineeL阅读 3,880评论 0 1