一、docker的安装

docker是近年比较火的一个开源的应用容器引擎,咱看半天也没太清楚到底有啥用,反正就是感觉像是一个linux的微缩版,这里暂不讨论,有些东西用着用着就知道他的好处及用途了,只是看的话很难真正理解。

PS补充:经过使用后,我目前是这样理解的:docker就是一个虚拟机,其中有三个概念:仓库,镜像,容器。仓库就类似于你ide的工作空间,镜像就相当于工作空间中未启动的项目,而容器则是项目启动的一个实例。镜像一启动,就会创建一个容器,启动几次就会创建几个容器。

我的服务器购买时选择的操作系统是CentOS,所以这里的安装环境也是CentOS

docker安装的话有两种方式,这里我们使用比较方便的yum安装

安装一些必要的系统工具:PS:sudo表示以管理员权限执行,如是root用户(最高权限)可不输入

$ sudo yum install -y yum-utils device-mapper-persistent-data lvm2

添加软件源信息:

$ sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

更新 yum 缓存:

$ sudo yum makecache fast

安装 Docker-ce:

$ sudo yum -y install docker-ce

启动 Docker 后台服务

$ sudo systemctl start docker

测试运行 hello-world

$ docker run hello-world

出现下面界面代表docker安装成功了!
20190826162002900.png

二、部署Springboot项目

我这里是新建了一个最简单的springboot项目
20190826165904957.png

1.我们使用idea的maven插件将项目打包,也可以用其他方式打包,在此不赘述。

2.打包后编写Dockerfile文件,创建文件名为Dockerfile的文本文件,内容如下:

FROM java:8
 
VOLUME /ROOT
 
ADD demo-0.0.1-SNAPSHOT.jar demo.jar
 
RUN bash -c 'touch /demo.jar'
 
EXPOSE 8080
 
ENTRYPOINT ["java", "-jar", "demo.jar"]

java:8是指Docker Hub上官方提供的java镜像,版本号是8也就是jdk1.8,有了这个基础镜像后,Dockerfile可以通过FROM指令直接获取它的状态——也就是在容器中java是已经安装的,接下来通过自定义的命令来运行Spring Boot应用:

VOLUME指向了一个/root的目录,由于Spring Boot使用内置的Tomcat容器,Tomcat默认使用/tmp作为工作目录。效果就是在主机的/var/lib/docker目录下创建了一个临时文件,并连接到容器的/root。

ADD将项目的jar文件作为app.jar添加到容器

RUN表示在新创建的镜像中执行一些命令,然后把执行的结果提交到当前镜像。这里使用touch命令来改变文件的修改时间,Docker创建的所有容器文件默认状态都是“未修改”。这对于简单应用来说不需要,不过对于一些静态内容(比如:index.html)的文件就需要一个“修改时间”。

EXPOSE 容器暴露端口

ENTRYPOINT 应用启动命令 参数设定

3.将此Dockerfile文件与项目jar包使用Xftp软件上传到服务器上\
20190826171234566.png

4.执行docker build命令,docker就会根据Dockerfile里你定义好的命令进行构建新的镜像。
20190826170542894.png

执行docker images,可以看到新建的镜像
20190826171345682.png

5.使用 指令:docker run -d -p 8080:8080 boot-docker运行该springBoot项目
20190826171807576.png

最后测试一下:可以访问了哦
20190826171905960.png


版权声明:文章转载请注明来源,如有侵权请联系博主删除!
最后修改:2019 年 12 月 26 日 05 : 15 PM
如果觉得我的文章对你有用,请随意赞赏
评论打卡也可以哦,您的鼓励是我最大的动力!