环境:
1、centos7
2、docker
一、编写dockerfile文件
FROM java:8
# 添加容器卷
VOLUME /tmp
VOLUME /log
# 将jar包添加到容器中并更名为app.jar
ADD youpin-api-0.0.1-SNAPSHOT.jar app.jar
#暴露端口
EXPOSE 2020
# 设置时区 运行jar包
RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
&& echo 'Asia/Shanghai' >/etc/timezone \
# 运行jar包
RUN bash -c 'touch /app.jar'
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
这里进行以上文件说明:
1、FROM java:8 —— 基础镜像使用java8环境
2、VOLUME —— 在docker工作目录中创建 临时文件, 并链接到容器的 /tmp和容器的/log目录中
3、ADD —— 把youpin-api-0.0.1-SNAPSHOT.jar 添加到 容器中并更名为app.jar
4、EXPOSE —— 把容器中的2020 端口和外部的2020端口进行了映射,这样外面就可以访问到容器中的服务
二、部署
把上面的dockerfile和jar包,复制到同一目录中,如下
三、制作镜像
在当前目录中执行 如下命令
docker build -t youpin .
-t 设置此镜像的tag名
执行 docker images 可查看到如下的镜像
四、启动容器
可执行如下命令进行启动
docker run -d --name youpin-api --network=host -v /www/docker/log/app.log:/log/app.log -v /www/docker/src:/usr/local/src youpin
-d 设置 docker后台运行
--name 设置运行的容器名字
-v 设置主机和容器的目录映射
启动后,使用以下命令来查看是否启动成功
docker ps
如下显示,则启动成功
浏览器访问测试,如下表示成功