默认maven等已安装
1、新建SpringBoot项目,在maven pom文件中配置docker插件依赖:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<!-- tag::plugin[] -->
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>0.4.3</version>
<configuration>
<imageName>gntdcserver</imageName>
<dockerDirectory>${project.build.directory}</dockerDirectory>
<resources>
<resource>
<targetPath>/</targetPath>
<directory>${project.build.directory}</directory>
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
</configuration>
</plugin>
<!-- end::plugin[] -->
</plugins>
</build>
执行mvn clean package 生成jar包。
2、新建Dockerfile文件:
FROM centos //基础镜像
COPY jdk1.8.0_151 jdk1.8.0_151 //将jdk拷贝到Docker的根目录下
ENV JAVA_HOME=/jdk1.8.0_151
ENV PATH=$JAVA_HOME/bin:$PATH
ENV CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
EXPOSE 8080
ADD gn-tdc-server/target/gn-tdc-server-1.0-SNAPSHOT.jar gn-server.jar //在docker根目录生成一个jar
ENTRYPOINT ["java","-jar","/gn-server.jar"] //容器启动时执行,
如果有更多操作可以写一个.sh脚本,再将ENTRPOINT的参数设成脚本路径
3、将jdk解压包放置Dockerfile同一目录下
4、安装docker服务:
https://docs.docker.com/engine/installation/linux/docker-ce/ubuntu/#os-requirements
使用docker pull centos命令从Dockerhub获取centos镜像。
5、制作镜像:
执行docker build [Dockerfile所在目录] //会执行Dockerfile文件
6、启动应用:
通过docker images 查看生成的镜像文件
通过docker ps -a 查看所有的docker容器
docker run [镜像Id] 启动容器
docker rm [id] 删除容器
docker rmi [id] 删除镜像
进入已启动的容器中: sudo docker exec -ti a2561aefb0eb /bin/bash //bin/bash指开启一个终端