`
jjjssh
  • 浏览: 77733 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

docker+springboot

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

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

1.先制作一个spring boot的demo,功能是访问/test1,然后将字符串写入一个文件
2.把spring boot打成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镜像文件
docker build -t root/demo1:0.1 .

root: 为运行程序的用户,这个可以随便写
demo1: 为镜像别名
root+demo1组成镜像的REPOSITORY
0.1则为镜像的TAG

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

7.构建好之后,可以通过docker images查看刚创建好的镜像
8.运行容器
docker run -d -p 8086:8086 --name demo1 aa22967bac37

--name demo1指定容器的名字为demo1
aa22967bac37 为镜像Id
-p 8086:8086 为把容器内部端口指向宿主机的端口(前面为宿主端口,后面的容器内端口)

9.通过docker ps 查看运行的容器

10.访问http://localhost:8086/docker/test1 成功返回success
11.再到查看/var/lib/docker/volumes 改容器挂在的卷,是否产生了对应的test.txt文件
经查看/var/lib/docker/volumes/eb51659a44ed68492ae81e2d0ae64d7890d01e336b6053a6cdb402f0f9ed90da/_data/test.txt产生了文件内容



把镜像上传到docker hub,这个额外的工作,只是为了后期维护镜像方便
1.commit一个容器  命令: docker commit CONTAINER ID wherein/ubuntu
docker commit 86b7b78c3b53 jasion/demo1

2.需要登录docker账号
docker login

3.将刚才的镜像push 到你的hub 那里去 命令: docker push jasion/demo1:latest 
这个latest其实就是一个tag name 会在hub的Tags那里显示
docker push jasion/demo1:0.1

4.现在验证一下 命令: docker inspect jasion/demo1


如何查看springboot日志
1.查看实时日志 docker log -f 容器Id
2.查看本地日志,先用docker ps 看容器信息,
然后用docker inspect 容器Id 查看容器详细信息,得到长串的容器Id,
根据这个长Id到宿主机器这个目录查看日志
/var/lib/docker/containers/长容器Id/长容器Id-json.log


如何进入springboot容器
docker exec -it 142357f0e786 /bin/sh
142357f0e786 为容器Id

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics