docker 外部镜像 上传到本地仓库

下载外部镜像,多个节点服务器需要安装的时候再到外网下载,虽然加了加速器,修改镜像源为国内的,但是下载速度还是挺慢。

于是想我们已经安装了镜像仓库,为什么不直接将外部下载的镜像信息上传到本地仓库呢。这样只需要下载一次,然后任何需要使用的机器到本地的仓库下载安装即可。

这里我安装ELK中的L,也就是logstash,需要在每个节点服务器都安装,而这个文件就有800多M,再次下载就比较慢。于是。。这样做了。

这里我的镜像仓库harbor安装在192.168.89.132上。

上传镜像的格式为
docker push 192.168.89.132/third/logstash:7.1.1

这里下载外网镜像上传到本地仓库分几步走。

0、在harbor仓库中新建一个第三方项目,专门安装第三方镜像。

使用默认的用户名密码安装。也就是admin/Harbor12345

1、下载外网镜像。

// 文件收集logstash
# docker pull logstash:7.1.1
// 存储,搜索引擎 elasticsearch
# docker pull elasticsearch:7.1.1
// 视图管理
# docker pull kibana:7.1.1
// 日志搬运工 Filebeat
# docker pull filebeat:7.1.1

2、修改镜像名称。

为什么需要修改镜像名,因为我们上传镜像到仓库有他自己的规则

这里其实就是使用docker tag 将标签名称类似复制一份。

url/项目名/镜像名称:标签tag

执行修改镜像命令:

docker打标签格式

docker tag 镜像ID 镜像名称:标签tag

docker tag b0e9f9f047e6 192.168.89.132/third/elasticsearch:7.1.1
docker tag 67f17df6ca3e 192.168.89.132/third/kibana:7.1.1
docker tag b0cb1543380d 192.168.89.132/third/logstash:7.1.1
docker tag 0bd69a03e199 192.168.89.132/third/filebeat:7.1.1

执行后查询,得到如下结果:打标签完成。

[[email protected] ~]# docker images
REPOSITORY                           TAG                 IMAGE ID            CREATED             SIZE
192.168.89.132/third/logstash        7.1.1               b0cb1543380d        9 months ago        847MB
logstash                             7.1.1               b0cb1543380d        9 months ago        847MB
192.168.89.132/third/kibana          7.1.1               67f17df6ca3e        9 months ago        746MB
kibana                               7.1.1               67f17df6ca3e        9 months ago        746MB
elasticsearch                        7.1.1               b0e9f9f047e6        9 months ago        894MB
192.168.89.132/third/elasticsearch   7.1.1               b0e9f9f047e6        9 months ago        894MB
192.168.89.132/third/filebeat        7.1.1               0bd69a03e199        9 months ago        288MB
store/elastic/filebeat               7.1.1               0bd69a03e199        9 months ago        288MB
java                                 8                   d23bdf5b1b1b        3 years ago         643MB

如果名称错了,可以通过删除镜像的方法删除

[[email protected] ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
logstash 7.1.1 b0cb1543380d 9 months ago 847MB
elk_logstash 7.1.1 b0cb1543380d 9 months ago 847MB

例如之前我名称错误,为elk_logstash,现在将结果删除,虽然提示Untagged,但是,实际上已经是删除了。

[[email protected] ~]# docker rmi elk_logstash:7.1.1
Untagged: elk_kibana:7.1.1

3、上传到本地镜像。

执行上传命令,上传可分两种,一种是ssh互信。一种是用户名密码。

这里我使用用户名密码方式,比较简单。

上传的时候注意,登录一次,可上传多次。

这里上传 logstash

//登录# docker login -u admin -p Harbor12345 192.168.89.132// 上传# docker push 192.168.89.132/third/logstash:7.1.1

上传中。

最终结果如下:

[[email protected] ~]# docker push 192.168.89.132/third/logstash:7.1.1
The push refers to repository [192.168.89.132/third/logstash]
91c7e8dbdc32: Pushed
3fb6d42ca421: Pushed
09680c30f949: Pushed
0832e33a1e70: Pushed
c8d021d02b9d: Pushed
6ec82ef47616: Pushed
b88ec0fc0928: Pushed
a11616483e9b: Pushed
0f5ddbf38e72: Pushed
075d8d70823f: Pushed
d69483a6face: Mounted from third/elasticsearch
7.1.1: digest: sha256:fd77ebe9cc5c9e7c04532db6bed92a80a15cc32de91fb3a3d74ee5f6aaf2878c size: 2824

其他几个镜像也一并上传

docker push 192.168.89.132/third/elasticsearch:7.1.1
docker push 192.168.89.132/third/kibana:7.1.1
docker push 192.168.89.132/third/filebeat:7.1.1

4、登录镜像仓库查看上传结果

通过浏览器登录镜像仓库查看third项目

http://192.168.89.132/

看到我刚刚上传的镜像都已经到了仓库中了。

5、到其他服务器去安装上传到本地的镜像

现在到另一个服务器节点 192.168.89.133

通过 命令查看当前镜像为空

[[email protected] ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
[[email protected] ~]# 

要安装镜像仓库的镜像,那么需要先登录仓库否则直接下载是不行的。

[[email protected] ~]# docker pull 192.168.89.132/third/logstash:7.1.1
Error 。。。。。。。

需要与上传一样,先登录后上传。

# docker login -u admin -p Harbor12345 192.168.89.132

# docker pull 192.168.89.132/third/logstash:7.1.1

查看镜像信息

[[email protected] ~]# docker pull 192.168.89.132/third/logstash:7.1.1
7.1.1: Pulling from third/logstash
8ba884070f61: Pull complete
f98cc5c12838: Pull complete
487aaccc47c9: Pull complete
5de63618f178: Pull complete
f1e707488ca5: Pull complete
2f538e5fa043: Pull complete
bc578c9b5b8a: Pull complete
9d08fc60ede0: Pull complete
ec847b96ea11: Pull complete
467f46a19db9: Pull complete
500547df61cd: Pull complete
Digest: sha256:fd77ebe9cc5c9e7c04532db6bed92a80a15cc32de91fb3a3d74ee5f6aaf2878c
Status: Downloaded newer image for 192.168.89.132/third/logstash:7.1.1
192.168.89.132/third/logstash:7.1.1

[[email protected] ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
192.168.89.132/third/logstash 7.1.1 b0cb1543380d 9 months ago 847MB

 

结束,

接下来是安装,看另一篇。。elk安装。。

原文地址:https://www.cnblogs.com/a393060727/p/12326023.html

时间: 2024-10-09 23:08:35

docker 外部镜像 上传到本地仓库的相关文章

docker自定义镜像上传阿里云

1.alpine制作jdk镜像 2.Alpine制作jre镜像(瘦身) 3.Docker镜像上传至阿里云 alpine制作jdk镜像 alpine Linux简介 1.Alpine Linux是一个轻型Linux发行版,它不同于通常的Linux发行版,Alpine采用了musl libc 和 BusyBox以减少系统的体积和运行时的资源消耗. 2.Alpine Linux提供了自己的包管理工具:apk(注意:ubuntu中是apt-get),我们可以通过https://pkgs.alpineli

本地jar上传到本地仓库

转自:http://www.blogjava.net/fancydeepin/archive/2012/06/12/380605.html   thanks!! Maven 确确实实是个好东西,用来管理项目显得很方便,但是如果是通过 Maven 来远程下载 JAR 包的话,我宿舍的带宽是4兆的, 4个人共用,有时候用 Maven 来远程下载 JAR 包会显得很慢,一般我发现下载速度不明显的时候,我就 Ctrl + C 来终止它的下载. 然后改用手动来下载,因为用迅雷一类的工具来下载会快很多.我机

docke镜像上传到dockerhub仓库和阿里云docker仓库的方法

操作指南 1.  登录阿里云docker registry: $ sudo docker login --username=linjiaxin897591495 registry.cn-hangzhou.aliyuncs.com 登录registry的用户名是您的阿里云账号全名,密码是您开通namespace时设置的密码. 你可以在镜像管理首页点击右上角按钮修改docker login密码. 从registry中拉取镜像: $ sudo docker pull registry.cn-hangz

如何在git上创建的本地仓库

一.安装git(在git) 二. 三.输入个人信息(代码提交者) git config --global user.name "xxxx" git config --global user.email [email protected] 四.在本地项目目录创建本地仓库 git init 输入命令后项目目录会有一个隐藏的.git文件夹 上传所有代码到本地仓库 git add . 五.这样就把代码上传到本地仓库了 git commit -m "initial commit&quo

docker 镜像 上传到docker hub

需要按照如下步骤处理: 我一直没有第三步,一直没有成功,直到尝试了一次docker tag ,上传docker hub就没有出现问题了. step1--找到本地镜像的ID:docker images step2--登陆Hub:docker login --username=username --password=password --email=email step3--tag:docker tag <imageID> <namespace>/<image name>:

如何将自己的镜像上传到docker hub上面

1.首先需要拥有自己的Docker hub账号 2.使用Docker hub账号在验证本地登录#docker login输入用户名和密码 3.先docker images看看本地的镜像 #docker images 如果REPOITORY的名不是你Docker hub账号和仓库,即Docker ID/仓库名,是上传不成功的 使用docker tag 镜像ID 用户名称/镜像源名 :新的标签名(tag) 来更改 #docker tag 861661772e3e liuxianhuacn/nginx

CentOs7 docker1.9 通过SSL把镜像上传到仓库

实现在仓库主机本机上通过SSL的方式把镜像上传到本机仓库 Server端: 1.生成证书 [email protected]:~$ sudo openssl req -x509 -nodes -days 365  -subj '/CN='test.registry.com'  -newkey rsa:4096 -keyout certs/domain.key -out certs/domain.crt #把证书生成到certs目录下,生成一个test.registry.com域名证书 2.启动容

jenkins构建docker镜像上传到harbor并发布到kubernetes

很早之前写过一篇jenkins集成docker的文章,使用的是CloudBees Docker Build and Publish plugin插件.这篇文章是直接使用shell脚本做的,主要是这次有一个需求是检测harbor仓库里面是否已经存在要构建的镜像,如果存在就放弃构建,如果不存在则构建镜像并上传到harbor仓库,我这里是通过请求harbor的api来检测的. 整个过程大致分为四个步骤,画了一个简单图: 1.在jenkins上构建一个自由风格的软件项目. 2.源码管理使用git. 这里

把本地git仓库的项目上传到远程仓库

之前在学校实验室服务器上建了一个git远程仓库,存放我写的express项目代码.后来由于出去实习,就无法访问那个远程仓库了,因为它在校园网内. 还好我的笔记本中有这个项目完整的本地仓库,于是我就试着在阿里云中新建一个仓库,这样就能把我的本地仓库的代码都上传上去. 首先,我再home目录创建了仓库文件夹,然后在这个文件夹下创建一个子文件夹作为我express项目的仓库目录 mkdir /home/repository/meadowlark.git 在meadowlark.git目录下,运行 gi