700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > Maven 项目自动构建 Docker 镜像推送到 Docker 服务器

Maven 项目自动构建 Docker 镜像推送到 Docker 服务器

时间:2022-08-20 14:30:50

相关推荐

Maven 项目自动构建 Docker 镜像推送到 Docker 服务器

Docker 安装

这里安装环境为 Centos7

# 安装依赖$ sudo yum install -y yum-utils \device-mapper-persistent-data \lvm2# 设置阿里云镜像$ sudo yum-config-manager \--add-repo \/linux/centos/docker-ce.repo# 安装 docker$ sudo yum install docker-ce# 启动 Docker$ systemctl start docker

Docker 配置

注意这里是开放 Docker 的操作权限,作者是在内网使用所以没什么问题,请自行确认网络环境安全

修改 Docker 配置

#vi /usr/lib/systemd/system/docker.service

将 ExecStart 这一行后面修改为 -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock 注意这里就是 0.0.0.0 不要修改

# 重新加载配置文件# systemctl daemon-reload# 重启 Docker # systemctl restart docker

查看 Docker 是否在监听 2375 端口

netstat -anp|grep 2375curl 127.0.0.1:2375/info

安装 Portainer

Portainer

简介:Portainer是一个轻量级的管理界面,可以让您轻松地管理不同的Docker环境(Docker主机或Swarm集群)。Portainer提供状态显示面板、应用模板快速部署、容器镜像网络数据卷的基本操作、事件日志显示、容器控制台操作、Swarm集群和服务等集中管理和操作、登录用户管理和控制等功能。功能十分全面,基本能满足中小型单位对容器管理的全部需求。

官方GitHub:/portainer/portainer

安装只需一条指令

docker run -d --privileged -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v /opt/portainer:/data portainer/portainer

安装成功后访问你的服务器 9000 端口即可,注意不要使用 360 浏览器,可以使用 谷歌,搜狗等浏览器

Maven 配置

在 pom 文件中添加插件

<plugin><groupId>com.spotify</groupId><artifactId>docker-maven-plugin</artifactId><version>0.4.13</version><configuration><imageName>myproject/test:0.0.1</imageName><baseImage>java</baseImage><entryPoint>["java", "-jar", "/${project.build.finalName}.jar"]</entryPoint><resources><resource><targetPath>/</targetPath><directory>${project.build.directory}</directory><include>${project.build.finalName}.jar</include></resource></resources><dockerHost>http://你的Doker IP :2375</dockerHost></configuration></plugin>

简要说明一下插件的配置:

① imageName:用于指定镜像名称,其中itmuch是仓库名称,microservice-discovery-eureka是镜像名称,0.0.1是标签名称。

② baseImage:用于指定基础镜像,类似于Dockerfile中的FROM指令。

③ entrypoint:类似于Dockerfile的ENTRYPOINT指令。

④ resources.resource.directory:用于指定需要复制的根目录,${project.build.directory}表示target目录。

⑤ resources.resource.include:用于指定需要复制的文件。${project.build.finalName}.jar指的是打包后的jar包文件。

dockerHost 指定你的 Docker 服务器监听的端口

运行命令打包

mvn clean package docker:build

可以看到 Docker 镜像已经被推送上服务器了

启动项目

首先是传统的 Docker 命令行启动

docker run -d -p 18080:8080 myproject/test:0.0.1

这里的 -p 18080:8080 是指 将容器内部的 8080 端口映射到服务器的 18080端口上,-d 标识后台运行

myproject/test:0.0.1 是指刚刚上传的镜像及版本号

记得开放防火墙端口权限

接口测试成功

Portainer 管理多个服务器 Docker

Portainer 可以通过 Docker 开放出来的 2375 端口远程管理多个 Docker

首先,在Endpoints 里面新建一个

选择管理 Docker ,填写好你的 IP和端口,确定即可

之后就可以在 Home 目录中自由切换不同的服务器对 Docker 进行管理

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。