- <build>
-
- <finalName>${project.artifactId}</finalName>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <version>3.1</version>
- <configuration>
- <source>1.8</source>
- <target>1.8</target>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <version>2.19.1</version>
- <configuration>
- <skipTests>true</skipTests>
- </configuration>
- </plugin>
- </plugins>
- </build>
复制代码- # 基础镜像
- FROM openjdk:8-jre
- # 维护者信息
- MAINTAINER pzi<pzi@qq.com>
- # 设置容器时区为当前时区
- RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \&& echo 'Asia/Shanghai' >/etc/timezone
- # /tmp 目录作为容器数据卷目录,SpringBoot内嵌Tomcat容器默认使用/tmp作为工作目录,任何向 /tmp 中写入的信息不会记录进容器存储层
- # 在宿主机的/var/lib/docker目录下创建一个临时文件并把它链接到容器中的/tmp目录
- VOLUME /tmp
- # 复制主机文件至镜像内,复制的目录需放置在 Dockerfile 文件同级目录下
- ADD msgdemoimpl/target/msgdemoimpl.jar app.jar
- # 容器启动执行命令
- ENTRYPOINT ["java", "-Xmx128m", "-Djava.security.egd=file:/dev/./urandom", "-jar", "/app.jar"]
- # 声明容器提供服务端口
- EXPOSE 8800
复制代码
4. idea 中配置 docker
● 配置端口以及容器名字

这样的话,就会按照命令 docker -p -d 8800:8800 msgdemo:1.0 的方式启动镜像。
√ TODO 使用dockerfile部署一个jar包 并且测试能否跑通
踩坑:暴露端口后,还需要指定主机端口和容器端口的映射关系,这样才能正确访问接口
tips:
删除 docker images 中REPOSITORY 和 TAG 都为 none 的镜像
docker rmi $(docker images -f "dangling=true" -q)
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |