1.先查看一下自己的docker版本,避免因为docker版本过低出现问题
[root@localhost /]# docker -v Docker version 19.03.12, build 48a66213fe [root@localhost /]#2.拉取registry镜像,版本建议2以上
[root@localhost /]# docker pull registry:2.7.1 2.7.1: Pulling from library/registry cbdbe7a5bc2a: Pull complete 47112e65547d: Pull complete 46bcb632e506: Pull complete c1cc712bcecd: Pull complete 3db6272dcbfa: Pull complete Digest: sha256:8be26f81ffea54106bae012c6f349df70f4d5e7e2ec01b143c46e2c03b9e551d Status: Downloaded newer image for registry:2.7.1 docker.io/library/registry:2.7.13.用vim编辑器修改docker.service文件
vim /usr/lib/systemd/system/docker.service 将 ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock 改为 ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock4.让Docker支持http上传镜像
echo '{ "insecure-registries":["192.168.2.171:5000"] }' > /etc/docker/daemon.json5.修改后使配置生效
systemctl daemon-reload6.重启docker
systemctl stop docker systemctl start docker7.开启防火墙 构建端口
firewall-cmd --zone=public --add-port=2375/tcp --permanent firewall-cmd --reload8.在你的springboot项目中的pom文件加入maven打包到服务器的插件
<plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> <plugin> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> <version>1.1.0</version> <executions> <execution> <id>build-image</id> <phase>package</phase> <goals> <goal>build</goal> </goals> </execution> </executions> <configuration> <imageName>${project.artifactId}:${project.version}</imageName> <--这里要写你自己的服务器ip不然生成的镜像不会上传--> <dockerHost>http://192.168.2.171:2375</dockerHost> <baseImage>java:8</baseImage> <entryPoint>["java", "-jar", "-Dspring.profiles.active=dev","/${project.build.finalName}.jar"]</entryPoint> <resources> <resource> <targetPath>/</targetPath> <directory>${project.build.directory}</directory> <include>${project.build.finalName}.jar</include> </resource> </resources> </configuration> </plugin> </plugins>9.创建Dockerfile文件,文件和src目录平级。
FROM hub.c.163.com/library/java:latest VOLUME /tmp #基础镜像:仓库是java,tag是8 #FROM java:8 #将打包好的spring程序拷贝到容器中的指定位置 app.jar相当于起一个别名 ADD ${project.artifactId}:${project.version} app.jar #容器启动后需要执行的命令 ENTRYPOINT ["java", "-jar","/app.jar"]10.配置完成后点开maven栏 先点击clean清楚一下之前的包,在点package就自动打成docker镜像了。 11.在服务器里用dockers images就可以找到你的项目镜像了。启动和平常的镜像一样,注意你docker项目的端口和宿主机端口的映射。2019版的idea自带docker插件,可以直接连接你的服务器。找到你的镜像运行就可以了。 12.本次分享到此结束。。。。。。。。。