本文由ilanniweb微信公众号提供友情赞助,首发于烂泥行天下
IT技术分享QQ群:571981257
现在要下载nexus2,nexus3,elasticsearch以及jfrog等安装文件,由于众多周知的原因,国内要么是无法下载,要么是下载速度很慢,那么今天我们就介绍一种加速下载这些文件的方法。
该方法的主要思路是利用github和dockerhub这个两个网站,以及国内的docker镜像加速站点。
主要步骤如下:
第一、在github上新建一个git仓库,在该git仓库中编写Dockefile文件。
第二、让该git仓库与dockerhub进行关联。
第三、在该git仓库中添加Dockerfile文件,并且在Dockerfile中写入所需文件的下载命令。
第四、该git仓库的提交触发dockerhub进行构建。
第五、本地拉取dockerhub构建完毕的docker镜像。
第六、本地运行拉取的docker镜像,然后使用docker cp命令获取已经下载的文件。
下面通过实际的操作进行介绍,注意由于上述已经把整体的思路进行了介绍,所以下面我能尽量只截图操作,文字描述会比较少。
一、新建git仓库
登陆github,创建git仓库,如下:
上述我们创建一个名为docker-jiasu的git仓库。
二、dockerhub与github进行关联
github上创建git仓库后,我们现在把github与dockerhub进行关联,具体操作如下:
在这个需要特殊说下,因为我以前把github和dockerhub绑定过,所以没有弹出github的认证界面。如果你是第一次绑定的话,会弹出github的认证页面。
上述这个界面比较重要,它定义了dockerhub连接github的具体仓库信息,以及github上触发该dockerhub仓库的docker build规则。
在此我们定义的规则是:github上docker-jiasu这个git仓库的master分支,只要有提交,就会通过webhook触发dockerhub进行docker build,而定义dockerhub这边的docker build是通过Dockerfile文件来进行的。
当然你也可以根据自己的实际情况触发的规则是其他分支,以及是其他的docker build文件。
上述就是我们把github与dockerhub进行关联后的界面。
三、查看github仓库的webhook
上述章节中,我们介绍了github是通过webhook来触发dockerhub的,那么github与dockerhub关联后,我们就可以登陆github上查看docker-jiasu这个git仓库被关联后的webhook,如下:
四、添加dockerfile文件
现在我们对docker-jiasu这个git仓库添加Dockerfile文件,如下:
以下是Dockerfile文件的具体内容:
FROM alpine:latest
MAINTAINER 烂泥行天下 <ilanni@ilanni.com>
RUN apk –no-cache add wget curl
#下载nexus3
ENV NEXUS_VERSION_3=3.19.1-01
ENV NEXUS_DOWNLOAD_URL_3=https://download.sonatype.com/nexus/3/nexus-${NEXUS_VERSION_3}-unix.tar.gz
RUN wget ${NEXUS_DOWNLOAD_URL_3}
#下载nexus2
ENV NEXUS_VERSION_2=2.14.15-01
ENV NEXUS_DOWNLOAD_URL_2=https://download.sonatype.com/nexus/oss/nexus-${NEXUS_VERSION_2}-bundle.tar.gz
RUN wget ${NEXUS_DOWNLOAD_URL_2}
#下载jfrog
ENV JFROG_VERSION=6.16.0
ENV JFROG_DOWNLOAD_URL=https://bintray.com/jfrog/artifactory/download_file?file_path=jfrog-artifactory-oss-${JFROG_VERSION}.zip
RUN wget ${JFROG_DOWNLOAD_URL} -O jfrog-artifactory-${JFROG_VERSION}.zip
#下载es
ENV ES_VERSION=6.5.2
ENV ES_DOWNLOAD_URL=https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-${ES_VERSION}.tar.gz
RUN wget ${ES_DOWNLOAD_URL}
当然你也可以通过这个连接,来下载上述Dockerfile文件,点我下载。
五、查看dockerhub构建过程
github上提交Dockerfile文件后,我们就可以登陆到dockerhub上查看,dockerhub整个构建过程。
注意:如果你在dockerhub上刷新半天还无法查看构建信息,你可以再等一会,有时候dockerhub确实比较慢。一般是等待5分钟左右即可。
如下:
上述这张图中,我们只需要关注docker push ilanni2460/docker-jiasu:tagname,这个即可。
这个是我们后面拉取docker仓库的地址,其中的tagname根据实际情况来定即可。如果没有写,那么默认就是latest。
通过上图,我们可以很明显的看出dockerhub上已经构建成功。
六、本地拉取docker镜像,并运行
dockerhub上构建完毕后,我们本地来拉取docker-jiasu这个镜像,并且使用azure中国的镜像站点进行加速。
有关docker的镜像加速,可以查看我另外一篇文章《烂泥:docker.io、gcr.io、quay.io镜像加速》。
拉取命令如下:
docker pull dockerhub.azk8s.cn/ilanni2460/docker-jiasu
运行刚刚拉取的镜像,使用如下命令:
docker run -dit –name docker-jiasu dockerhub.azk8s.cn/ilanni2460/docker-jiasu
七、获取所需文件
在上一章节,我们已经成功的把docker镜像运行起来。现在再来查看下刚刚运行的容器,使用如下命令:
docker exec -it docker-jiasu ls -al -h
通过上图,可以很明显的看到,我们所需的相关文件已经在容器中了。
现在我们只需使用docker cp命令把容器里面的文件复制到本地即可,具体命令如下:
docker cp docker-jiasu:jfrog-artifactory-6.16.0.zip ./
docker cp docker-jiasu:nexus-3.19.1-01-unix.tar.gz ./
到此本篇文章就已经全部结束。
未经允许不得转载:烂泥行天下 » 烂泥:通过docker加速下载国外文件