- 本教程采用centos7.5服务器,已在服务器上安装了docker。没有安装的可以查看该教程安装 http://www.runoob.com/docker/docker-tutorial.html
- Docker全套教程 https://github.com/yeasy/docker_practice/blob/master/SUMMARY.md
- 下面是该教程实现过程
- 如上图 把一个SpringBoot项目按照步骤先清除,在打包。Cloud项目也是如此每个服务操作一遍。
- 然后登陆CentOS。选定一个文件夹,文件夹随意建在哪里。把打包后的jar包放进去。再在该目录新建一个名字为Dockerfile的文件。并把下列代码复制进去
FROM frolvlad/alpine-oraclejdk8:slim
VOLUME /tmp
ADD microservice-community-room-0.0.1-SNAPSHOT.jar app.jar
#RUN bash -c 'touch /app.jar'
EXPOSE 8001
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
- 下面是上段代码的命令含义
命令 | 含义 |
---|---|
FROM | 基础镜像 |
VOLUME | 挂载卷 |
ADD | 添加文件,会解压压缩包 |
RUN | 执行命令 |
EXPOSE | 暴露端口 |
ENTRYPOINT | 基础命令 |
其中 ADD microservice-community-room-0.0.1-SNAPSHOT.jar app.jar 这一段把microservice-community-room-0.0.1-SNAPSHOT.jar替换成你自己打包后的jar名字 其他的不需要改变
7. 然后在该目录运行生成镜像命令 docker build -t zhsq/user8770 .
zhsq/user8770是生成镜像的名字, 最后面的 . 代表DockerFile和jar包在一个目录里
8. 然后在运行docker images
查看自己所有的镜像。
9. 接着运行docker run -d -p 8763:8763 zhsq/gateway8763
命令 其中 8763:8763代表宿主机与docker容器的端口映射,注意宿主机开放该端口,不然外部无法访问接口。 zhsq/gateway8763代表你要启动的镜像名字。最后运行docker ps
命令查看正在运行的容器