Docker容器入门之一:部署SpringBoot项目

一、环境准备:

    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既可。

注:配置生效后可用: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.13</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.1-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就可以访问项目了!




大功告成!



ps:也是经过一天的时间不断实践网上各位大神们的经验,再结合自己的实际体验,整理出来的一篇文章。希望能帮到其他人吧

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值