烂泥:通过docker加速下载国外文件

本文由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仓库,如下:

wps22

wps23

wps24

上述我们创建一个名为docker-jiasu的git仓库。

二、dockerhub与github进行关联

github上创建git仓库后,我们现在把github与dockerhub进行关联,具体操作如下:

wps25

wps26

wps27

在这个需要特殊说下,因为我以前把github和dockerhub绑定过,所以没有弹出github的认证界面。如果你是第一次绑定的话,会弹出github的认证页面。

wps28

上述这个界面比较重要,它定义了dockerhub连接github的具体仓库信息,以及github上触发该dockerhub仓库的docker build规则。

在此我们定义的规则是:github上docker-jiasu这个git仓库的master分支,只要有提交,就会通过webhook触发dockerhub进行docker build,而定义dockerhub这边的docker build是通过Dockerfile文件来进行的。

当然你也可以根据自己的实际情况触发的规则是其他分支,以及是其他的docker build文件。

wps29

上述就是我们把github与dockerhub进行关联后的界面。

三、查看github仓库的webhook

上述章节中,我们介绍了github是通过webhook来触发dockerhub的,那么github与dockerhub关联后,我们就可以登陆github上查看docker-jiasu这个git仓库被关联后的webhook,如下:

wps30

四、添加dockerfile文件

现在我们对docker-jiasu这个git仓库添加Dockerfile文件,如下:

wps31

wps32

wps33

wps34

以下是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分钟左右即可。

如下:

wps35

上述这张图中,我们只需要关注docker push ilanni2460/docker-jiasu:tagname,这个即可。

这个是我们后面拉取docker仓库的地址,其中的tagname根据实际情况来定即可。如果没有写,那么默认就是latest。

wps36

wps37

wps38

通过上图,我们可以很明显的看出dockerhub上已经构建成功。

六、本地拉取docker镜像,并运行

dockerhub上构建完毕后,我们本地来拉取docker-jiasu这个镜像,并且使用azure中国的镜像站点进行加速。

有关docker的镜像加速,可以查看我另外一篇文章《烂泥:docker.io、gcr.io、quay.io镜像加速》。

拉取命令如下:

docker pull dockerhub.azk8s.cn/ilanni2460/docker-jiasu

wps39

运行刚刚拉取的镜像,使用如下命令:

docker run -dit –name docker-jiasu dockerhub.azk8s.cn/ilanni2460/docker-jiasu

wps40

七、获取所需文件

在上一章节,我们已经成功的把docker镜像运行起来。现在再来查看下刚刚运行的容器,使用如下命令:

docker exec -it docker-jiasu ls -al -h

wps41

通过上图,可以很明显的看到,我们所需的相关文件已经在容器中了。

现在我们只需使用docker cp命令把容器里面的文件复制到本地即可,具体命令如下:

docker cp docker-jiasu:jfrog-artifactory-6.16.0.zip ./

docker cp docker-jiasu:nexus-3.19.1-01-unix.tar.gz ./

wps42

到此本篇文章就已经全部结束。

未经允许不得转载:烂泥行天下 » 烂泥:通过docker加速下载国外文件

赞 (49) 打赏

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

支付宝扫一扫打赏

微信扫一扫打赏