三、DockerFile 定制属于自己的专属镜像 (2)

我们现在看看我们创建的镜像。

file

我们接下来启动镜像

docker run -d -p 8090:8080 hello:v1

file


其中 -d 是后台启动,-p 是映射端口,前面的是我们设置的端口,后面是项目运行的端口。
启动后我们在浏览器上访问下。

:8090

file

这样我们通过docker 构建我们springboot 的项目,创建属于我们自己的镜像就完成了。

配置docker远程访问

我们现在要做的是,直接通过idea打包生成docker镜像。所以,第一步开启docker的远程访问,我的docker 是安装到服务器上的。我先在本地检测一下,服务器上的docker 是否开启的远程访问。

docker -H 192.168.252.53 info

file


说明是没有开启docker的远程服务的。所以进入服务器。
执行如下操作,在docker.service. 文件夹下创建一个http-proxy.conf文件.

sudo mkdir /etc/systemd/system/docker.service.d sudo vim /etc/systemd/system/docker.service.d/http-proxy.conf

文件内容

[Service] ExecStart= ExecStart=http://www.likecs.com/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock

然后重启daemon和docker

sudo systemctl daemon-reload sudo systemctl restart docker

然后我们再 在本地测试一下。说明docker 的远程访问已经配置好了。

file

idea配置

我们打开我们的hello 项目,在pom.xml 中增加配置

<properties> <java.version>1.8</java.version> <docker.image.prefix>quellanan</docker.image.prefix> </properties>

在build 中增加。

<!-- Docker --> <plugin> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> <version>1.0.0</version> <!-- 将插件绑定在某个phase执行 --> <executions> <execution> <id>build-image</id> <!-- 用户只需执行mvn package ,就会自动执行mvn docker:build --> <phase>package</phase> <goals> <goal>build</goal> </goals> </execution> </executions> <configuration> <!-- 指定生成的镜像名 --> <imageName>${docker.image.prefix}/${project.artifactId}</imageName> <!-- 指定标签 --> <imageTags> <imageTag>${project.version}</imageTag> </imageTags> <!-- 指定 Dockerfile 路径 --> <dockerDirectory>src/main/docker</dockerDirectory> <!-- 指定远程 docker api地址 --> <dockerHost>:2375</dockerHost> <resources> <resource> <targetPath>/</targetPath> <!-- jar包所在的路径此处配置的对应target目录 --> <directory>${project.build.directory}</directory> <!-- 需要包含的jar包,这里对应的是Dockerfile中添加的文件名 --> <include>${project.build.finalName}.jar</include> </resource> </resources> </configuration> </plugin>

在src/main/docker 中创建Dockerfile 文件,文件内容上面Dockerfile 内容一样

FROM java:8 VOLUME /tmp ADD hello-1.0.0.jar hello-1.0.0.jar ENTRYPOINT ["java","-jar","/hello-1.0.0.jar"]

file

mvn package

因为我们配置在构建的时候就会进行docker 打包。所以我们知己运行mvn package

file


控制台查看是打包成功的。
我们去服务器上看下,有没有

file


可以看到已经成功了。

番外

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzdxgg.html