使用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 公 ...
随机推荐
- CCPC2018-湖南全国邀请赛 G String Transformation
G.String Transformation 题目描述 Bobo has a string S = s1 s2...sn consists of letter a , b and c . He ca ...
- angular 三大核心函数
1.$watch angular监听 由于angular一直在实时监听,所以比react和vue效率要低 $scope.$watch('aModel', function(newValue, o ...
- Oracle linux 6.3 安装11g R2 RAC on vbox
1 安装系统 Virtual box 4.3 Oracle linux 6.3 Oracle 11g r2 Make sure "Adapter 1" is enabled, se ...
- MyBatis多表映射demo
三个实体类,作者.文章和评论. public class Author { private int id; private String username; private String nickna ...
- 南京邮电大学网络攻防平台WEB题
平台地址:http://ctf.nuptsast.com/ 签到题: 右键查看源代码,得到flag md5 collision: 传入的a的md5值要为0e开头的,但不能是QNKCDZO,百度一个0e ...
- Halcon学习之二:摄像头获取图像和相关参数
1.close_all_framegrabbers ( : : : ) 关闭所有图像采集设备. 2.close_framegrabber ( : : AcqHandle : ) 关闭Handle为Ac ...
- CXF动态客户端如何优化JaxWsDynamicClientFactory.createClient -- 慢
在CXF动态创建客户端时,如下: JaxWsDynamicClientFactory factory = JaxWsDynamicClientFactory.newInstance(); Client ...
- 【原】Coursera—Andrew Ng机器学习—编程作业 Programming Exercise 3—多分类逻辑回归和神经网络
作业说明 Exercise 3,Week 4,使用Octave实现图片中手写数字 0-9 的识别,采用两种方式(1)多分类逻辑回归(2)多分类神经网络.对比结果. (1)多分类逻辑回归:实现 lrCo ...
- JVM中的JIT
JVM中的JIT 介绍Java虚拟机的文章或者书籍总会提到Java虚拟机中的JIT编译器,可是JIT编译器到底是什么?为什么需要JIT编译呢? JIT编译器,是Just In Time编译的意思,又称 ...
- Dom对象与jQuery对象的转换