Docker安装部分
对于Windows 10专业版以下的用户,推荐使用Docker Toolbox
Windows安装文件:http://mirrors.aliyun.com/docker-toolbox/windows/docker-toolbox/
对于Windows 10专业版以上的用户,推荐使用Docker for Windows
Windows安装文件:https://www.docker.com/products/docker-desktop/
注意:Windows 10家庭版可以用我推荐第二种方式,因为我用的就是docker-desktop,但是具体安装我就不多说了,Windows 10安装Docker还是挺多坑的
IntelliJ IDEA 相关
idea连接docker
配置连接
点击 + ,添加一个连接
我们通过TCP的方式连接到 linux 或者是 window 的 docker 服务上。信息配置好之后,idea 会自动检测,然后输出 Connection successful。
然后在工具栏选择 docker 的窗口,点击运行
接下来我们就可以在 idea 上面操作 docker
项目相关
新建一个简单的 springboot 项目
在项目的 pom.xml 文件加入以下代码:
<build> <plugins> <plugin> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> <version> 1.2.1</version> <executions> <execution> <id>build-image</id> <phase>package</phase> <goals> <goal>build</goal> </goals> </execution> </executions> <configuration> <imageName>${project.artifactId}</imageName> <imageTags> <imageTag>test</imageTag> </imageTags> <dockerDirectory>${project.basedir}</dockerDirectory> <dockerHost>http://127.0.0.1:2375</dockerHost> <resources> <resource> <targetPath>/</targetPath> <directory>${project.build.directory}</directory> <include>${project.build.finalName}</include> </resource> </resources> </configuration> </plugin> </plugins> </build>
在项目根目录下建立一个 docker 文件夹,在 docker 文件夹下新建一个Dockerfile文件,写入一下内容:
#指定基础镜像,在其上进行定制 FROM java:8 #维护者信息 MAINTAINER quliang <529075990@qq.com> #这里的 /tmp 目录就会在运行时自动挂载为匿名卷,任何向 /tmp 中写入的信息都不会记录进容器存储层。 VOLUME /tmp #复制上下文目录下的target/demo-0.0.1-SNAPSHOT.jar 到容器里 COPY target/demo-0.0.1-SNAPSHOT.jar app.jar #bash方式执行,使app.jar可访问 #RUN新建立一层,在其上执行这些命令,执行结束后, commit 这一层的修改,构成新的镜像。 RUN bash -c "touch /app.jar" #声明运行时容器提供服务端口,这只是一个声明,在运行时并不会因为这个声明应用就会开启这个端口的服务 EXPOSE 8080 #指定容器启动程序及参数 <ENTRYPOINT> "<CMD>" ENTRYPOINT ["java","-jar","app.jar"]
然后配置 docker 启动项
选择编辑:
添加一个启动项:
填写 docker 相关参数
在执行 docker 镜像之前需要把项目进行打包,所以在最下面的操作栏中加入 maven 打包相关命令:
添加一个 maven 任务:
添加 maven 打包命令:
maven 打包分为了几步:
第一步是清除上次编译或者是打包的文件
第二步是对项目进行编译以及打成 jar 包
第三步则是把相关文件拷贝到 target 目录下,这样我们的 docker 对制作镜像时才能找到我们的文件,否则则会在制作过程中报错。
正常情况:
docker 部署项目完成
因为我们是在Windows 10 上使用 docker ,那我们用 Windows PowerShell
我们用 Windows PowerShell 查看一下: