
先利用jar包生成一个镜像文件,然后docker启动即可
编写dockerfile# 基础镜像 # 指定要构建的spring boot服务镜像的基础源镜像是java,版本是8;如果本地没有java:8的镜像,就会从dockerHub下载。一般首次下载,以后就不会下载了。 FROM openjdk:8-jre # author MAINTAINER dwl # 时区问题 解决docker 容器中的时候和宿主机统一 RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone # jar包挂载目录 VOLUME /app/sh # 创建目录 RUN mkdir -p /app/sh # 宿主机文件挂载目录 VOLUME /home/kxyjy # 指定路径 WORKDIR /app/sh # 复制jar文件到路径 COPY ./sh-modules-alarm.jar /app/sh/sh-modules-alarm.jar # 启动系统服务 ENTRYPOINT ["java","-jar","sh-modules-alarm.jar"]构建镜像
docker build -t sh-alarm:1.0.0 .启动容器
运行该镜像
docker run --name sh-alarm -d -v /home/kxyjy:/home/kxyjy --privileged=true --network=host 23ea
参数说明
1、
Docker运行一个容器后,进入容器,cd /home/kxyjy 挂载目录会报错
cannot open directory '.': Permission denied
解决办法:
docker run时加一个参数
--privileged=true
若是用DockerCompose启动,则在docker-compose.yml中添加以下配置
privileged: true
2、-v /home/kxyjy:/home/kxyjy
容器挂载在宿主机的目录
3、–network=host
指向宿主机ip