1、打包好的jar文件上传到服务器

2、与jar包同目录下新建Dockerfile文件

FROM openjdk:8-jdk-alpine
MAINTAINER "维护者 <email>"
LABEL description="描述"
WORKDIR app
ADD micro-service-demo-0.0.1-SNAPSHOT.jar /app/app.jar
EXPOSE 8081
CMD java -jar /app/app.jar

FROM:指定基础镜像,必须为第一个命令

MAINTAINER: 维护者信息

LABEL:用于为镜像添加元数据

ADD:将本地文件添加到容器中,tar类型文件会自动解压(网络压缩资源不会被解压),可以访问网络资源,类似wget

COPY:功能类似ADD,但是是不会自动解压文件,也不能访问网络资源

WORKDIR:工作目录,类似于cd命令

RUN:构建镜像时执行的命令

CMD:构建容器后调用,也就是在容器启动时才进行调用。

ENTRYPOINT:配置容器,使其可执行化。配合CMD可省去"application",只使用参数。

ENV:设置环境变量

EXPOSE:指定于外界交互的端口

VOLUME:用于指定持久化目录

ARG:用于指定传递给构建运行时的变量

USER:指定运行容器时的用户名或 UID,后续的 RUN 也会使用指定用户。使用USER指定用户时,可以使用用户名、UID或GID,或是两者的组合。当服务不需要管理员权限时,可以通过该命令指定运行用户。并且可以在之前创建所需要的用户

ONBUILD:用于设置镜像触发器

参考文章:Dockerfile文件详解

3、编译Dockerfile文件生成Docker镜像

docker build -t micro-service-demo .

 -t micro-service-demo:生成目标镜像名

. :Dockerfile文件路径

如果需要删除旧的镜像

docker rmi 镜像名

 

 4、运行micro-service-demo镜像

docker run -d -p 8081:8081 micro-service-demo

-d :在后台运行容器

-p 8081:8081 :主机端口号:容器端口号

micro-service-demo :镜像名称

5、查看容器运行状态

docker ps 

删除旧的容器,需要先停止容器,再删除。

docker stop 容器ID

docker rm 容器ID

 

6、查看容器运行输出的日志信息

docker logs -f 容器ID

-f :不间断持续输出

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐