搭建docker-maven-plugin的环境

本文介绍了如何在Windows环境下使用IDEA,配合CentOS服务器上的Docker,搭建包含register、dockerfly、registry-ui的私有镜像仓库。详细步骤包括Docker服务的配置、插件设置以及pom.xml的编写,最终实现镜像的打包、推送和从正式运行环境中拉取。
摘要由CSDN通过智能技术生成

一、测试环境搭建

开发机是:idea,windows环境

私服:centos+docker+register+registerui+registerfly

正式运行环境:centos+docker

 

二、准备工作

主要是私服环境安装

(1)docker register

(2)dockerfly

(3)docker register ui

  (4) 放开http推送

(1)安装register

docker run -d -p 5000:5000 --name registry registry:2

 (2)安装dockerfly

docker search dockerfly
docker run --name dockerfly --restart=always -d -v /var/run/docker.sock:/var/run/docker.sock -p 2735:2735 -p 28083:28083 dockerfly

 注意这里的2735端口,等下要用到。pom.xml文件中要指定。

 网页:http://xxx.xxx.xxx.xxx:28083

用户名:admin

密码:1234

(3)安装register ui

docker pull joxit/docker-registry-ui:static
docker run -p 8280:80 --name registry-ui \
--link registry2:registry2 \
-e REGISTRY_URL="http://registry2:5000" \
-e DELETE_IMAGES="true" \
-e REGISTRY_TITLE="Registry2" \
-d joxit/docker-registry-ui:static

访问网页:http://xxx.xxx.xxx.xxx:8280

(4)修改Docker Daemon的配置文件,

①文件位置为/etc/docker/daemon.json,由于Docker默认使用HTTPS推送镜像,而我们的镜像仓库没有支持,所以需要添加如下配置,改为使用HTTP推送;

{
  "insecure-registries": ["192.168.3.101:5000"]
}

②最后使用如下命令重启Docker服务。

systemctl daemon-reload && systemctl restart docker

三、编写pom.xml

(1)先在pom.xml中添加插件。

<build>
    <plugins>
        <plugin>
            <groupId>io.fabric8</groupId>
            <artifactId>docker-maven-plugin</artifactId>
            <version>0.33.0</version>
            <configuration>
                <!-- Docker 远程管理地址,registerfly中暴露的2735端口-->
                <dockerHost>http://192.168.3.101:2735</dockerHost>
                <!-- Docker 推送镜像仓库地址-->
                <pushRegistry>http://192.168.3.101:5000</pushRegistry>
                <images>
                    <image>
                        <!--由于推送到私有镜像仓库,镜像名需要添加仓库地址-->
                        <name>192.168.3.101:5000/mall-tiny/${project.name}:${project.version}</name>
                        <!--定义镜像构建行为-->
                        <build>
                            <!--定义基础镜像-->
                            <from>java:8</from>
                            <args>
                                <JAR_FILE>${project.build.finalName}.jar</JAR_FILE>
                            </args>
                            <!--定义哪些文件拷贝到容器中-->
                            <assembly>
                                <!--定义拷贝到容器的目录-->
                                <targetDir>/</targetDir>
                                <!--只拷贝生成的jar包-->
                                <descriptorRef>artifact</descriptorRef>
                            </assembly>
                            <!--定义容器启动命令-->
                            <entryPoint>["java", "-jar","/${project.build.finalName}.jar"]</entryPoint>
                            <!--定义维护者-->
                            <maintainer>macrozheng</maintainer>
                        </build>
                    </image>
                </images>
            </configuration>
        </plugin>
    </plugins>
</build>

注意:这里的2735端口就是register-fly暴露的端口。 

 

(2)增加完成后,按照图下所示,先package,然后再docker:build就可以生成docker image了。

 可以到register服务器上用docker images看生成的镜像。

(3)docker:push推送到服务器上面

执行docker:push后,登录到网页registerui,看服务器上是不是有image。

四、pull

进入正式运行服务器上,使用pull xxx.xxx.xxx.xxx:5000/name:tag将image拉取下来。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值