1 将打好的jar包放在一个目录中
2 创建一个Dockerfile文件,可以将它和jar放在同一目录下,内容如下:
FROM java:8 //想要生成的image所继承的image,冒号前面是镜像名称,冒号后面是版本号
VOLUME /tmp
ADD base.jar app.jar
RUN bash -c 'touch /app.jar'
EXPOSE 9990 //将容器的9990端口暴露出来,允许外部连接这个端口
ENTRYPOINT [ "java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar" ]
3 启动Docker:
systemctl docker start
4 创建镜像:
docker build -t test/alarm:1.0.0 .
注意最后有一个点,不能省略,它表示Dockerfile文件在当前目录。
-t 用来指定镜像的名称,冒号后面是指定的标签,如1.0.0,如果不指定,则默认为latest,镜像的名称自定义。运行成功后,可以用docker image ls命令查看镜像有没有生成成功。
5 生成、运行容器:
docker run -d -p 9987:9987 test/alarm:1.0.0
-p表示容器的9987端口映射到本机的9987端口,冒号前面是本机端口,冒号后面是容器端口
6 查看正在运行的容器:
docker ps
如果容器运行成功,使用docker ps可以看到正在运行的容器的信息,但是如果运行没有成功,当执行5中的命令后,也会生成一个容器,这个时候可以用docker ps -a 来查看所有的容器的信息,再使用7中的命令查看日志,寻找未成功的原因。
7 查看容器日志:
docker logs 容器id
8 停止所有容器:
docker stop $(docker ps -a -q)
9 删除容器:
docker container rm 容器id
docker container run 每运行一次都会生成一个新的容器,如果想要运行已经生成的容器,可以使用docker container start 容器id 命令来启动容器