docker+springboot

制作一个springboot程序的docker镜像,并挂在到宿主机上一个卷,写入文件

前提:必须先安装好docker环境

1.先制作一个springboot的demo,功能是访问/test1,然后将字符串写入一个文件

2.把springboot打成jar包发布,demo.jar

3.在linux的/opt下新建一个文件夹,比如叫demo1

4.在demo1文件夹下新建一个Dockerfile文件,内容如下:

FROM java:8
VOLUME /usr/test
ADD demo.jar app.jar
EXPOSE 8086
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

5.把demo.jar上传到demo1这个文件夹下

6.构建docke镜像文件

dockerbuild-troot/demo1:0.1.

root:为运行程序的用户,这个可以随便写

demo1:为镜像别名

root+demo1组成镜像的REPOSITORY

0.1则为镜像的TAG

最后面的.则表示Dockerfile在当前目录

7.构建好之后,可以通过dockerimages查看刚创建好的镜像

8.运行容器

dockerrun-d-p8086:8086--namedemo1aa22967bac37

--namedemo1指定容器的名字为demo1

aa22967bac37为镜像Id

-p8086:8086为把容器内部端口指向宿主机的端口(前面为宿主端口,后面的容器内端口)

9.通过dockerps查看运行的容器

10.访问http://localhost:8086/docker/test1成功返回success

11.再到查看/var/lib/docker/volumes改容器挂在的卷,是否产生了对应的test.txt文件

经查看/var/lib/docker/volumes/eb51659a44ed68492ae81e2d0ae64d7890d01e336b6053a6cdb402f0f9ed90da/_data/test.txt产生了文件内容

把镜像上传到dockerhub,这个额外的工作,只是为了后期维护镜像方便

1.commit一个容器命令:dockercommitCONTAINERIDwherein/ubuntu

dockercommit86b7b78c3b53jasion/demo1

2.需要登录docker账号

dockerlogin

3.将刚才的镜像push到你的hub那里去命令:dockerpushjasion/demo1:latest

这个latest其实就是一个tagname会在hub的Tags那里显示

dockerpushjasion/demo1:0.1

4.现在验证一下命令:dockerinspectjasion/demo1

如何查看springboot日志

1.查看实时日志dockerlog-f容器Id

2.查看本地日志,先用dockerps看容器信息,

然后用dockerinspect容器Id查看容器详细信息,得到长串的容器Id,

根据这个长Id到宿主机器这个目录查看日志

/var/lib/docker/containers/长容器Id/长容器Id-json.log

相关推荐