当前位置: 首页 > news >正文

ckplayer网站根目录网站搜索排名查询

ckplayer网站根目录,网站搜索排名查询,做天猫还是做网站推广,许昌市建设投资有限公司 网站有了docker hub,为什么还要搭建docker私有仓库? 1、性能考虑:docker hub的访问要通过互联网,性能太低。 2、安全性:更多的时候,镜像不想被外部的人获取,虽然可以在docker hub上申请私有reposi…

有了docker hub,为什么还要搭建docker私有仓库?

1、性能考虑:docker hub的访问要通过互联网,性能太低。

2、安全性:更多的时候,镜像不想被外部的人获取,虽然可以在docker hub上申请私有repository,但是需要付费。

一、使用 docker registry 安装

1.1、安装环境:

ip地址: 192.168.64.150

Linux 内核版本:

[huangkai@sjq-20 ~]$ uname -a
Linux sjq-20 3.10.0-514.el7.x86_64 #1 SMP Tue Nov 22 16:42:41 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

docker 版本:

[huangkai@sjq-20 ~]$ docker -v
Docker version 1.13.1, build 8633870/1.13.1
[huangkai@sjq-20 ~]$ 

1.2、安装 registry

[huangkai@sjq-20 ~]$ sudo docker run -d -v /data/docker/registry:/var/lib/registry -p 5000:5000 --restart=always --privileged=true --name registry registry:latest
  • -v /data/docker/registry:/var/lib/registry 默认情况下,会将仓库存放于容器内的/var/lib/registry目录下,指定本地目录挂载到容器。

  • -p 5000:5000 端口映射

  • –restart=always 在容器退出时总是重启容器,主要应用在生产环境

  • –privileged=true 在CentOS7中的安全模块selinux把权限禁掉了,参数给容器加特权,不加上传镜像会报权限错误OSError: [Errno 13] Permission denied: ‘/tmp/registry/repositories/liibrary’)或者(Received unexpected HTTP status: 500 Internal Server Error)错误

  • –name registry 指定容器的名称

通过执行上面的run命令,实际我们已经完成了Docker私有仓库的搭建

查看docker 进程:

[huangkai@sjq-20 ~]$ docker ps
CONTAINER ID        IMAGE                    COMMAND                  CREATED             STATUS              PORTS                               NAMES
b63b73507060        registry:latest          "/entrypoint.sh /e..."   39 minutes ago      Up 30 minutes       0.0.0.0:5000->5000/tcp              registry
[huangkai@sjq-20 ~]$ 

1.3、 推送nginx到私有 Registry

下载 nginx:

[huangkai@sjq-20 ~]$ docker pull nginx

查看镜像:

[huangkai@sjq-20 ~]$ docker images
REPOSITORY                  TAG                 IMAGE ID            CREATED             SIZE
docker.io/nginx             1.14.0              ecc98fc2f376        12 days ago         109 MB
docker.io/registry          latest              2e2f252f3c88        6 weeks ago         33.3 MB

使用 tag修改名称

[huangkai@sjq-20 ~]$ docker tag docker.io/nginx:1.14.0 192.168.64.150:5000/nginx

查看镜像:

[huangkai@sjq-20 ~]$ docker images
REPOSITORY                  TAG                 IMAGE ID            CREATED             SIZE
docker.io/nginx             1.14.0              ecc98fc2f376        12 days ago         109 MB
192.168.64.150:5000/nginx   latest              ecc98fc2f376        12 days ago         109 MB
docker.io/registry          latest              2e2f252f3c88        6 weeks ago         33.3 MB

推送到本地私有仓库

先修改docker 配置:

[huangkai@sjq-20 registry]$ sudo vim /etc/docker/daemon.json添加如下内容:"insecure-registries":["192.168.64.150:5000"]

重启docker :

[huangkai@sjq-20 registry]$ sudo systemctl restart docker

push 到本地私有仓库

[huangkai@sjq-20 registry]$ docker push 192.168.64.150:5000/nginx:latest
The push refers to a repository [192.168.64.150:5000/nginx]
19c605f267f4: Pushed 
f4a5f8f59caa: Pushed 
237472299760: Pushed 
latest: digest: sha256:d43aa3719937f9df0502f8258f3034a21b720b5b9bbf01bbfdbd09871aac8930 size: 948
[huangkai@sjq-20 registry]$ 

执行完成后,会在 /data/docker/registry 目录下创建相应的目录与文件。

再次查看镜像如下:

[huangkai@sjq-20 registry]$ docker images
REPOSITORY                  TAG                 IMAGE ID            CREATED             SIZE
192.168.64.150:5000/nginx   latest              ecc98fc2f376        12 days ago         109 MB
docker.io/nginx             1.14.0              ecc98fc2f376        12 days ago         109 MB
docker.io/registry          latest              2e2f252f3c88        6 weeks ago         33.3 MB
[huangkai@sjq-20 registry]$

查询镜像:

使用 docker search 查询会报404

[huangkai@sjq-20 nginx]$ docker search 192.168.64.150:5000/ngin
Error response from daemon: Unexpected status code 404

可以使用V2版本的api查询

[huangkai@sjq-20 registry]$ curl http://192.168.64.150:5000/v2/_catalog
{"repositories":["nginx"]}
[huangkai@sjq-20 registry]$

1.4、从私有云pull Registry

使用另一台机器从私有云下载镜像 ,ip地址: 192.168.64.151

先修改docker 配置:

[huangkai@sjq-21 registry]$ sudo vim /etc/docker/daemon.json添加如下内容:"insecure-registries":["192.168.64.150:5000"]  #修改为私有云的ip和端口号

重启docker :

[huangkai@sjq-21 registry]$ sudo systemctl restart docker

pull 镜像

[huangkai@sjq-21 ~]$ docker pull 192.168.64.150:5000/nginx
Using default tag: latest
Trying to pull repository 192.168.64.150:5000/nginx ... 
sha256:d43aa3719937f9df0502f8258f3034a21b720b5b9bbf01bbfdbd09871aac8930: Pulling from 192.168.64.150:5000/nginx
Digest: sha256:d43aa3719937f9df0502f8258f3034a21b720b5b9bbf01bbfdbd09871aac8930
Status: Downloaded newer image for 192.168.64.150:5000/nginx:latest

查看镜像:

[huangkai@sjq-21 ~]$ docker images
REPOSITORY                  TAG                 IMAGE ID            CREATED             SIZE
192.168.64.150:5000/nginx   latest              ecc98fc2f376        12 days ago         109 MB
[huangkai@sjq-21 ~]$ 

二、使用 nexus配置私有仓库

先按照上一节的将 nexus3 安装并启动 nexus 容器

2.1、创建仓库:

可以先创建 Blob Stores 指定目录即可。

使用浏览器访问 nexus,并登陆,创建docker repositories

点击 create repository 后,选择 docker(hosted),可以看到 Docker 有三种类型,分别是 docker(group),docker(hosted),docker(proxy)。其含义解释如下:

  • hosted : 本地存储,即同 docker 官方仓库一样提供本地私服功能
  • proxy : 提供代理其他仓库的类型,如 docker 中央仓库
  • group : 组类型,实质作用是组合多个仓库为一个地址

2.1.1、创建 hosted仓库

用于存储用户自定义的镜像


如上图:
name :给定一个名称
http:开启http,并设置一个端口号,
Enable Docker V1 API: 如果需要同时支持 V1 版本请勾选此项(不建议勾选)
Hosted -> Deployment pollcy: 请选择 Allow redeploy 否则无法上传 Docker 镜像,默认为 Allow redeploy。

其它保持默认即可。

2.1.2、添加访问权限

菜单 Security->Realms 把 Docker Bearer Token Realm 移到右边的框中保存。

添加用户规则:菜单 Security->Roles->Create role ->Nexus Role 在 Privlleges 选项搜索 docker 把相应的规则移动到右边的框中然后保存。

添加用户:菜单 Security->Users->Create local user 在 Roles 选项中选中刚才创建的规则移动到右边的窗口保存。

2.1.3、创建 proxy 仓库

如果用户在 pull镜像时,这个镜像不存在,会到第三方下载镜像并保存在 docker-proxy 类型中,构建第三方镜像,跟maven一个道理

2.1.4、创建 group 仓库

用来合并 hosted 和 proxy,只需要暴露这个端口对外 pull,会从 hosted 和 proxy 两种类型中搜索镜像。

2.2、配置宿主机docker,并认证

sudo vim /etc/docker/daemon.json 在文件中添加如下内容

"insecure-registries":["192.168.64.150:8870"]

重启docker

sudo systemctl restart docker

在重启之后,看上面创建docker 创建时, 指定了 8870 端口号(group 类型) 和 8871端口号(hosted类型),这里也需要将 nexus容器中的8870端口号暴露出来,供所有访问的拉取镜像(pull) ,8871 端口供管理员上传镜像(push),因为 8870(group 端口号)的服务不会提供具体的存储服务,主要作用是类似于一个反向代理,可以把多个仓库(比如 hosted 私服和 proxy)组合成一个地址提供访问其实也许你应该会想到,为什么 push 需要一个端口、pull又需要另一个端口,为什么不能搞成一个端口,让管理员指定一个默认的存储库呢,对于这个问题,nexus设计就是如此,不排除以后会在新版本中升级,请查看 :https://issues.sonatype.org/browse/NEXUS-10471 先停止 nexus 容器
,将重新运行新 nexus 暴露 8870端口号

docker run -d -p 8081:8081 -p 8870:8870 -p 8871:8871 --restart=always --name nexus --privileged=true -v /data/docker/nexus:/nexus-data sonatype/nexus3

登陆认证:

在通过nexus完成私有镜像仓库的构建后,首先需要进行登录认证才能进行后续的操作,私有镜像仓库登录认证的语法和格式:docker login :。假设上述的nexus部署在IP地址为192.168.64.150主机上,私有镜像的端口为8870,则通过执行如下的命令登录私有镜像仓库:

[huangkai@sjq-20 docker]$ docker login 192.168.64.150:8870
Username: docker
Password: 
Login Succeeded
[huangkai@sjq-20 docker]

登录时,需要提供用户名和密码。认证的信息会被保存在~/.docker/config.json文件,在后续与私有镜像仓库交互时就可以被重用,而不需要每次都进行登录认证。

2.3、推送镜像到nexus

要共享一个镜像,可以通过将其发布到托管存储库,然后其它人员就可以通过存储库获取自己需要的镜像。在将镜像推送到存储库之前,需要对镜像进行标记。当标记图像时,可以使用镜像标识符(imageId)或者镜像名称(imageName)。标识镜像的语法和格式:docker tag :/:。假设这里将 tomcat:8.5 镜像标识为私有镜像仓库(192.168.64.150:8870)中的镜像,标识的执行命令如下:

[huangkai@sjq-20 ~]$ docker images
REPOSITORY                  TAG                 IMAGE ID            CREATED             SIZE
docker.io/tomcat            8.5                 ca9e2fccef98        25 hours ago        463 MB
[huangkai@sjq-20 ~]$ docker tag ca9e2fccef98 192.168.64.150:8871/tomcat:8.5
[huangkai@sjq-20 ~]$ docker images  #如下,可以看到自己的镜像创建成功
REPOSITORY                   TAG                 IMAGE ID            CREATED             SIZE
192.168.64.150:8871/tomcat   8.5                 ca9e2fccef98        25 hours ago        463 MB
docker.io/tomcat             8.5                 ca9e2fccef98        25 hours ago        463 MB
[huangkai@sjq-20 ~]$ 

一旦镜像标识完成后,就可以通过的docker push命令将镜像推送到私有仓库中。推送镜像到私有镜像仓库的语法和格式为docker push :/:,通过下面的命令,将上述打完标签的镜像上传至私有镜像仓库:

[huangkai@sjq-20 ~]$ docker push 192.168.64.150:8871/tomcat:8.5
The push refers to a repository [192.168.64.150:8871/tomcat]
18bbfbcc62ab: Pushed 
ea8cd57aea48: Pushed 
9883f52bceab: Pushed 
d277f245cc6b: Pushed 
0a743e17e0d0: Pushed 
20468c041c0a: Pushed 
185c62a48a71: Pushed 
d683471ab65a: Pushed 
0f25831f224d: Pushed 
08a01612ffca: Pushed 
8bb25f9cdc41: Pushed 
f715ed19c28b: Pushed 
8.5: digest: sha256:119c1d475e72254afe4359a2e0a0daf1b5909835249172645b70acf575e2818a size: 2836
[huangkai@sjq-20 ~]$

如下图所示,tomcat 已被上传到本地私服中。

2.4、使用另一台服务器拉取镜像

修改配置如下:

[huangkai@sjq-21 ~]$ vim /etc/docker/daemon.json
"insecure-registries":["192.168.64.150:8870"]

重启 docker:

[huangkai@sjq-21 ~]$ systemctl restart docker

拉取的语法和格式:docker pull :/:。假设从本文构建的私有镜像仓库中拉取tomcat:8.5,执行命令如下所示:

[huangkai@sjq-21 ~]$ docker login 192.168.64.150:8870 #使用另一台服务器(192.168.64.151),先登陆 docker repository
Username: docker
Password: 
Login Succeeded
[huangkai@sjq-21 ~]$ docker pull 192.168.64.150:8870/tomcat:8.5 #如果nexus中已存在该镜像,直接下载,如果存在,会在 proxy类型的仓库中下载到Nexus 再下载到用户服务器本地镜像中。
Trying to pull repository 192.168.64.150:8870/tomcat ... 
sha256:119c1d475e72254afe4359a2e0a0daf1b5909835249172645b70acf575e2818a: Pulling from 192.168.64.150:8870/tomcat
bc9ab73e5b14: Pull complete 
193a6306c92a: Pull complete 
e5c3f8c317dc: Pull complete 
d21441932c53: Pull complete 
fa76b0d25092: Pull complete 
346fd8610875: Pull complete 
3ca5d6af9022: Pull complete 
c06cfa2cea32: Pull complete 
205950a5a114: Pull complete 
6332a55c669e: Pull complete 
b5efe96df0e8: Pull complete 
b4e0e542b56a: Pull complete 
Digest: sha256:119c1d475e72254afe4359a2e0a0daf1b5909835249172645b70acf575e2818a
Status: Downloaded newer image for 192.168.64.150:8870/tomcat:8.5
[huangkai@sjq-21 ~]$ docker images #查看镜像,tomcat已下载
REPOSITORY                   TAG                 IMAGE ID            CREATED             SIZE
192.168.64.150:8870/tomcat   8.5                 ca9e2fccef98        26 hours ago        463 MB
[huangkai@sjq-21 ~]$
http://www.yidumall.com/news/2259.html

相关文章:

  • 网销的网站建设与管理seo数据是什么意思
  • 网站架设教程百度学术论文查重官网入口
  • 南京设计网页公司兰州网站seo优化
  • 做网站哪里比较好seo优化师培训
  • 网站可以做系统吗seo技巧是什么意思
  • 公司想建个网站怎么弄网络优化师
  • 哪个网站网页做的好看seo网站优化课程
  • wordpress破解加密文章怎么seo网站排名
  • 公司邮箱登陆入口seo网络优化
  • 合肥做企业网站的网络公司重庆seo排名公司
  • 下沙做网站play商店
  • 好用的网页设计软件网站页面优化方案
  • DW做网站下拉列表怎么做百度一下官网网址
  • 广汉网站建设seo做得比较好的公司
  • 品牌营销的定义杭州百度快照优化排名推广
  • 设计外贸商城网站建设百度竞价广告推广
  • 如何做英文系统下载网站一键优化清理
  • icp备案网站名称是什么意思宁波品牌网站推广优化
  • 中国核工业第五建设公司网站南昌百度快速排名提升
  • 网站整体框架网络推广培训去哪里好
  • 网站建设基本要素开发网站多少钱
  • 企业网站建设会计分录常见的网络推广方式
  • 影视采集网站怎么做收录一键生成原创文案
  • 部门网站建设管理经验交流材料谷歌浏览器下载手机版
  • 长沙微信乘车码在哪里百度seo排名优化提高流量
  • 忠益网站建设电商运营培训学费多少
  • 单页网站制作 在线 支付国家卫健委最新疫情报告
  • 黄石市下陆区建设管理局网站我要推广网
  • 做酱菜网站关键词排名查询工具有什么作用?
  • 烟台网站建设电话百度网