使用dockerfile-maven-plugin发布docker到私有仓库
要想拥有私有docker仓库,需要安装registry镜像,最新版是2.0,具体可以看文档:https://docs.docker.com/registry/。
1. docker pull registry
2. docker run -d -p 5000:5000 --restart=always --name registry registry:2
使用http://localhost:5000/v2/测试,返回"{}",表示安装成功。
使用maven命令(mvn clean package)打包时,报:Failed to execute goal com.spotify:docker-maven-plugin:0.4.13:build (default-cli) on project config: Exception caught: java.util.concurrent.ExecutionException: com.spotify.docker.client.shaded.javax.ws.rs.ProcessingException: org.apache.http.conn.HttpHostConnectException: Connect to localhost:2375 [localhost/127.0.0.1, localhost/0:0:0:0:0:0:0:1] failed: Connection refused
1. 首先确保,配置的docker.image.prefix时正确的,即配置了绑定仓库。
<properties>
<project.build.sourceEncoding>UTF-</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<maven.test.skip>true</maven.test.skip>
<spring-cloud.version>Finchley.RELEASE</spring-cloud.version>
<dockerfile.maven.version>1.4.</dockerfile.maven.version>
<docker.image.prefix>172.27.73.xx:</docker.image.prefix>
</properties>
2. 编辑/etc/sysconfig/docker文件,我安装的docker ce,没有发现这个文件,如果有,则:
sudo vi /etc/sysconfig/docker //添加下面这行
other_args="-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock" //保存
:wq! //重启docker服务
service docker restart
3. 在windows系统环境变量中新建DOCKER_HOST值为tcp://{docker_ip}:2375,将这里的{docker_ip},替换为docker所在的centos服务器IP或主机名(用主机名,需要windows配置hosts),可能需要重启系统。
4. 修改/usr/lib/systemd/system/docker.service文件
sudo vi /usr/lib/systemd/system/docker.service
//在ExecStart这一行后面加上(这里就写4个0,别改成自己的ip)
-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock 改完后效果如下
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock :wq!
保存退出 重新加载配置文件 systemctl daemon-reload
重启docker :service docker restart
这样才可以是/etc/default/docker中的配置项生效
重写打包,发布镜像,报:
Caused by: com.spotify.docker.client.exceptions.DockerException: java.util.concurrent.ExecutionException: com.spotify.docker.client.shaded.javax.ws.rs.ProcessingException: com.spotify.docker.client.shad
ed.org.apache.http.conn.HttpHostConnectException: Connect to 172.27.73.xx:2375 [/172.27.73.xx] failed: Connection timed out: connect
我们首先查询docker所在虚拟机在监听哪些端口,使用命令:
netstat -tlunp
显示:
tcp6 0 0 :::2375 :::* LISTEN -
2375端口,已在监听。
那很有可能时防火墙的问题,在CentOS7中,默认会打开firewalld防火墙,如果防火墙打开后,默认情况下只会监听在22号端口,也就是说主机对外暴露的端口只有22。
使用如下命令:
sudo iptables-save
查看防火墙暴漏的对外端口,发现2373端口没有对位暴漏。
需要增加2375端口对外暴漏,使用如下命令:
//添加端口
sudo firewall-cmd --zone=public --add-port=2375/tcp --permanent
//重载防火墙
sudo firewall-cmd --reload
看到sucess字样后,再使用iptables-save命令查看端口,可以看到,对外放开的端口增加了2375端口。
这次重新打包,发布成功。
使用命令:
docker images
查看到新打包的镜像,注意172.27.73.xx:5000开头的REPOSITORY列,已添加。
使用dockerfile-maven-plugin发布docker到私有仓库的更多相关文章
- Docker将自己的镜像发布到个人私有仓库
Docker将自己的镜像发布到个人私有仓库 1.注册dockerhub账户 docker提供了一个类似于github的仓库dockerhub, 网址https://hub.docker.com/需要注 ...
- 部署Nexus作为docker的私有仓库
目录 Docker搭建Nexus私有仓库... 1 一.安装部署... 1 1.安装... 2 2.访问网页端... 2 二.配置使用... 2 1.创建本地仓库... 2 2.docker配置... ...
- Python Docker 查看私有仓库镜像【转】
文章来源:python Docker 查看私有仓库镜像 pip 安装: # 首先安装epel扩展源: yum -y install epel-release # 更新完成之后,就可安装pip: yum ...
- Docker 搭建私有仓库
Docker 搭建私有仓库 环境: docker 版本 :18.09.1 主机地址:192.168.1.79 1.运行并创建私有仓库 docker run -d \ -v /opt/registry: ...
- Docker registry 私有仓库镜像查询、删除、上传、下载 shell
#Docker官方私有仓库registry #官方只提供了API接口,不方便使用,就写了个shell #docker-registry安装配置http://www.cnblogs.com/elvi/p ...
- Docker本地私有仓库实战
Docker仓库主要用于存放Docker镜像,Docker仓库分为公共仓库和私有仓库,基于registry可以搭建本地私有仓库,使用私有仓库的优点如下: 1)节省网络带宽,针对于每个镜像不用去Dock ...
- 菜鸟系列docker——搭建私有仓库harbor(6)
docker 搭建私有仓库harbor 1. 准备条件 安装docker sudo yum update sudo yum install -y yum-utils device-mapper-per ...
- [Docker]docker搭建私有仓库(ssl、身份认证)
docker搭建私有仓库(ssl.身份认证) 环境:CentOS 7.Docker 1.13.1 CentOS 7相关: https://www.cnblogs.com/ttkl/p/11041124 ...
- Docker Harbor私有仓库部署与管理 (超详细配图)
Docker Harbor私有仓库部署与管理 1.Harbor 介绍 2.Harbor部署 3.Harbor管理 1.Harbor 介绍: 什么是 Harbor ? Harbor 是 VMware 公 ...
随机推荐
- bzoj 2865 字符串识别——后缀数组
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2865 做出 ht[ ] 之后,sa[ ] 上每个位置和它前面与后面取 LCP ,其中较大的长 ...
- c#实现QQ群成员列表导出及邮件群发之模拟QQ登陆
主题已迁移至:http://atiblogs.com/ ITO-神奇的程序员
- Uploadify在asp.net下使用Demo
为了使自己以后不再去网上搜索,特记录下来 从uploadify官网http://www.uploadify.com/上下载文件 必要的文件: 1.jquery的js文件 2.jquery.upload ...
- HTMLTestRunner 汉化版---来源一个大神的源码(加了失败截图,用例失败重新执行 功能)
HTMLTestRunner 汉化版 20170925 测试报告完全汉化,包括错误日志的中文处理 针对selenium UI测试增加失败自动截图功能 增加失败自动重试功能 增加饼图统计 同时兼容pyt ...
- Scanner的小实例
package com.b; import java.util.Random; import java.util.Scanner; //猜拳游戏 1.人从键盘输入 2.计算机从电脑随机输入 3.条件判 ...
- 011. 解决VS2015中CS1528: Expected ; or = (cannot specify constructor arguments in declaration)
编译器错误消息: CS1528: Expected ; or = (cannot specify constructor arguments in declaration) 源错误: 行 94: ...
- List和Map常用的几种遍历方式
遍历一个List有以下几种方法: /*//1.普通for循环的方式: List<String> list=new ArrayList<String>(); list.add(& ...
- Python内置函数二 (递归函数,匿名函数,二分法)
匿名函数 lambda() 语法: lambad 参数 : 返回值 def func(a,b): return a * b print(func(2,5)) a = lambda a ,b : a* ...
- webRTC peerconnection_client demo创建VS工程
编译了webRTC Windows源码之后,想使用编译出来的库写一个demo出来,但是又不知到怎么下手.就想通过源码中带的示例peerconnection_client和peerconnection_ ...
- Spring Cloud Eureka 1(eureka简介)
Spring Cloud Eureka 是 Spring Cloud Netflix微服务套件中的一部分,基于netflix eureka做了二次封装,主要负责完成微服务架构中的服务治理功能. 服务治 ...