一、环境准备:
    1、vm虚拟机: Workstation 12 Pro 12.5.7 build-5813279

2、Centos 7

在虚拟机上安装好Centos7系统后,就可以开始准备安装Docker了。由于不想每次都敲sudo去获取权限什么的,本人直接是使用root账号登录的。下面开始正文。

二、Docker安装和配置
    1、安装方式一:

[root@localhost ~]# yum install docker

2、安装方式二:

[root@localhost ~]# curl -fsSL https://get.docker.com/|sh
上面两种方法都可以进行安装,只不过方式二的版本会更加新。接下来等待安装完成。

3、检查是否安装成功:

[root@localhost ~]# docker version

成功后会输出以下信息(Client有信息即可):

4、启动Docker服务并设置开机启动:

[root@localhost ~]# systemctl start docker
[root@localhost ~]# systemctl enable docker

 5、配置下国内镜像服务(不是必须):

vim /etc/docker/daemon.json
{
"registry-mirrors": ["https://aj2rgad5.mirror.aliyuncs.com"]
}

Ps: 这里格式一定要正确,标准的json格式,不然服务不能启动!!!

6、配置远程连接(后续要用):

vim /usr/lib/systemd/system/docker.service 

找到文中如下行:

ExecStart=/usr/bin/dockerd

将其修改为:

ExecStart=/usr/bin/dockerd -H tcp://127.0.0.1:2375 -H unix:///var/run/docker.sock

127.0.0.1修改为当前虚拟机内的Ip既可。如果是阿里云的话要写系统自己的ip,外网ip不好使

注:配置生效后可用:curl 127.0.0.1:2375测试是否成功。

成功会显示:

7、重启服务使配置生效:

[root@localhost ~]# systemctl deamon-reload
[root@localhost ~]# systemctl restart docker.service

到此为止Docker的部分基本已经完成!恭喜!恭喜!(Ps:我刚开始的时候怎么就这么不顺利呢orz!)

三、SpringBoot项目的容器化
    1、通过Spring Initializr快速建立一个SpringBoot项目,然后简单写一个控制器:

然后在POM里加入Docker的插件:

<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>0.4.</version>
<configuration>
<imageName>spring/${project.artifactId}</imageName>
<dockerDirectory>src/main/docker</dockerDirectory>
<dockerHost>http://127.0.0.1:2375</dockerHost>
<resources>
<resource>
<targetPath>/</targetPath>
<directory>${project.build.directory}</directory>
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
</configuration>
</plugin>

这里注意两个标签:

<imageName>:这个是镜像的名称,上述的镜像名称就是: spring/docekertest

<docherHost>:这个是容器服务的IP地址,就是虚拟机上的IP,请务必替换掉!

二:编写Dockerfile:
      创建文件,结构如下:

内容如下:

FROM java
VOLUME /tmp
ADD dockertest-0.0.-SNAPSHOT.jar app.jar
RUN bash -c 'touch /app.jar'
ENV JAVA_OPTS=""
ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /app.jar" ]

先启动项目测试下: OK!

然后就是打包了:  先package 生成jar包 再 docker:build 等待完成。

成功信息:

到此这个项目已经变成镜像了,可以使用容器去启动了。

四、启动容器
    让我们切回虚拟机,打开终端,输入如下命令:
[root@localhost ~]# docker run -p 8080:8080 -t spring/dockertest
出现熟悉的Springboot启动Banner 成功!

. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v1.5.13.RELEASE)
这时候切回Windows打开浏览器输入 Docker的服务IP:8080就可以访问项目了!

大功告成!

Docker容器入门之一:部署SpringBoot项目的更多相关文章

  1. Docker快速上手之部署SpringBoot项目

    Docker是基于Go语言实现的云开源项目. Docker的主要目标是“Build,Ship and Run Any App,Anywhere”,也就是通过对应用组件的封装.分发.部署.运行等生命周期 ...

  2. docker入门篇 部署springboot项目

    安装docker Ubuntu16.04安装Docker 使用docker 注册docker服务 systemctl enable docker systemctl status docker 然后在 ...

  3. Docker容器使用jenkins部署web项目--总结(二)

    (1)需要安装Docker容器,在Docker容器内安装jenkins,gogs,tomcat.   新建maven项目,添加findbugs plugin. 使用docker启动jenkins,go ...

  4. k8s + docker + Jenkins使用Pipeline部署SpringBoot项目时Jenkins错误集锦

    背景 系统版本:CentOS7 Jenkins版本:2.222.1 maven版本:apache-maven-3.6.3 Java版本:jdk1.8.0_231 Git版本:1.8.3.1 docke ...

  5. docker部署springboot项目

    本文介绍一下docker如何部署springboot项目. 前提条件: 1.可以运行jar包的环境 2.机器上已经安装了docker 3.准备部署的springboot的jar包 4.Dockerfi ...

  6. Docker下部署springboot项目

    1.背景 如何在docker容器环境下部署一个springboot项目? 2.具体步骤 第一步:准备一个springboot项目的xxxx.jar包 jar包中用于测试的一个接口如下 第二步:编写Do ...

  7. SpringBoot入门教程(二)CentOS部署SpringBoot项目从0到1

    在之前的博文<详解intellij idea搭建SpringBoot>介绍了idea搭建SpringBoot的详细过程, 并在<CentOS安装Tomcat>中介绍了Tomca ...

  8. mac和linux下使用Docker,部署SpringBoot项目到docker

    主要是看一下如何在linux及mac上安装docker,创建docker镜像,部署SpringBoot项目到docker,并借助于DaoCloud进行docker镜像下载加速等. 我用的电脑是mac, ...

  9. 利用Dockerfile部署SpringBoot项目

    利用Dockerfile部署SpringBoot项目 1.创建一个SpringBooot项目并且打成jar包 2.在Linux中创建一个文件夹,来做docker测试 [root@izwz90lvzs7 ...

  10. Docker快速上手之搭建SpringBoot项目

    Docker是基于Go语言实现的云开源项目. Docker的主要目标是“Build,Ship and Run Any App,Anywhere”,也就是通过对应用组件的封装.分发.部署.运行等生命周期 ...

随机推荐

  1. linux常用查看系统操作的linux命令

    系统# uname -a # 查看内核/操作系统/CPU信息# head -n 1 /etc/issue # 查看操作系统版本# cat /proc/cpuinfo # 查看CPU信息# hostna ...

  2. ambari部署Hadoop集群(2)

    准备本地 repository 1. 下载下面的包 wget http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.7.3 ...

  3. eslint 检查单个文件的错误

    问题: 批量检查时,没有针对性,想针对单个文件进行检查 解决办法:./node_modules/.bin/eslint  your file

  4. LC 861. Score After Flipping Matrix

    We have a two dimensional matrix A where each value is 0 or 1. A move consists of choosing any row o ...

  5. DEDECMS 漏洞汇总

    日期:2019-08-08 10:20:28 更新: 作者:Bay0net 介绍: 0x01.组合拳拿 shell 漏洞版本:v5.5 - v5.7 前台任意用户密码重置 首先注册一个账户,账户名为 ...

  6. zabbix(2)使用指南

    一.邮件报警(一个客户端安装server,agent) 管理->报警媒介类型->email 管理->用户->Admin->报警媒介 配置->动作->Repor ...

  7. Windows下查找文件或文件夹被哪个进程占用

    Linux下我们可以使用lsof +D /filepath/,查看到文件被那些进程占用. windows下也会经常遇到文件夹或文件无法删除或无法访问的问题,使用“资源监视器”可以找到占用的进程,可以尝 ...

  8. Opencv实现的陷波滤波器

    在本示例中,共设计了三个函数,分别是巴特沃斯滤波器BLPF().巴特沃斯陷波滤波器notchFilter_BTW().高斯陷波滤波器notchFilter_GAUSS() 巴特沃斯陷波滤波器参见书上6 ...

  9. PJzhang:关闭wps小广告和快速关闭445端口

    猫宁!!! ​​   kali linux上安装的wps,没有广告,而且轻巧简洁.   如果你在windows上安装wps,除了ppt.word.excel,还会有一个h5的应用,当然,最令人烦扰的当 ...

  10. 服务间的通信 RestTemplate和Feign

    1.RestTemplate Spring RestTemplate 是 Spring 提供的用于访问 Rest 服务的客户端,RestTemplate 提供了多种便捷访问远程Http服务的方法,能够 ...