版本: CentOS Linux release 8.0.1905 (Core)
docker version 19.03.3
1.上传jar包到服务器上
这是我上传到服务器上的jar包
2 在当前目录下编写Dockerfile文件
vi Dockerfile
#依赖的父镜像
FROM java:8
#作者
MAINTAINER fanzhuoxi
#jar包添加到镜像中
ADD firstjob.jar first.jar
#容器暴露的端口 即jar程序在容器中运行的端口
EXPOSE 8080
#容器启动之后要执行的命令
ENTRYPOINT ["java","-jar","first.jar"]
3. 构建镜像
命令最后有个点
docker build -t fzx/first .
4.查看镜像
fzx/first 是刚才构建的镜像
java是父镜像,是从docker官方仓库中下载来的
5.启动容器
#记得将宿主机的本地时间绑定到容器中去,不然因为容器中时区于服务器的不一致,出现一些问题
docker run -d --name myfirst -p 8080:8080 --privileged=true -v /etc/timezone:/etc/timezone -v /etc/localtime:/etc/localtime fzx/first
6. 查看docker进程
docker ps
7.查看docker容器 运行日志
docker logs 容器id(就是docker ps 结果中的CONTAINER ID )
docker logs 24dc331ca975
8.试着访问下,没问题
9.可能存在问题,
(1)第5步docker run -d --name myfirst -p 8080:8080 fzx/first 执行成功了,执行第6步时没有相应进程。一般是项目代码启动有问题。可以通过 docker ps -a 命令查看所有的容器,可以找到启动的容器,然后通过docker logs 容器id 查看下日志
(2)启动出现问题,重新上传了jar包后
要执行以下操作,
先删除容器 docker rm 容器id
再删除镜像 docker rmi 镜像id (镜像id通过docker images查看)
然后重新构建镜像并启动容器(参照从第3步开始)
OK,结束!
上一篇 centos安装docker
相关操作:
idea打jar包