【linux】【docker】docker私服安装
前言
系统环境:Centos7、jdk1.8
docker私服:可以把项目通过dockerfile文件build成docker镜像,供其他环境拉取。部署在本地,私有化。
安装
dockerHUB私服
1. 搭建registry
#拉取registry镜像
[root@localhost home]# docker pull registry
Using default tag: latest
latest: Pulling from library/registry
c87736221ed0: Pull complete
1cc8e0bb44df: Pull complete
54d33bcb37f5: Pull complete
e8afc091c171: Pull complete
b4541f6d3db6: Pull complete
Digest: sha256:8004747f1e8cd820a148fb7499d71a76d45ff66bac6a29129bfdbfdc0154d146
Status: Downloaded newer image for registry:latest #查看镜像
[root@localhost home]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
registry latest f32a97de94e1 6 months ago 25.8MB #启动容器
[root@localhost home]# docker run -d -v /data/registry:/var/lib/registry -p 5000:5000 --restart=always --name qdockerhub registry:latest
67b0ac40561688b8bb874fa9674e44eb069cc6ee443127ba80b140ea51947af7 #测试/v2/_catalog接口
[root@localhost home]# curl http://127.0.0.1:5000/v2/_catalog
{"repositories":[]}
[root@localhost home]#
2. 提交镜像
#拉取tomcat测试提交
[root@localhost home]# docker pull tomcat
Using default tag: latest
latest: Pulling from library/tomcat
092586df9206: Pull complete
ef599477fae0: Pull complete
4530c6472b5d: Pull complete
d34d61487075: Pull complete
272f46008219: Pull complete
12ff6ccfe7a6: Pull complete
f26b99e1adb1: Pull complete
21bec9c8ea28: Pull complete
e2f6023231f2: Pull complete
c47eb491a5e3: Pull complete
Digest: sha256:74e52cc6d27dacb079b273c129d6bf32df6ba328d6508b81ef65f41675ae9570
Status: Downloaded newer image for tomcat:latest #查看镜像
[root@localhost home]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
tomcat latest 365b0a528e2e 4 days ago 506MB
registry latest f32a97de94e1 6 months ago 25.8MB #给镜像重命名,ip:端口/镜像名称
[root@localhost home]# docker tag tomcat:latest 127.0.0.1:5000/testtomcat #再次查看镜像
[root@localhost home]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
127.0.0.1:5000/testtomcat latest 365b0a528e2e 4 days ago 506MB
tomcat latest 365b0a528e2e 4 days ago 506MB
registry latest f32a97de94e1 6 months ago 25.8MB #提交镜像到到docker私服
[root@localhost home]# docker push 127.0.0.1:5000/testtomcat
The push refers to repository [127.0.0.1:5000/testtomcat]
4a3ccf95eef9: Pushed
4437177a7bda: Pushed
5161954b2663: Pushed
57e6a3d20ce9: Pushed
1690af51cb08: Pushed
5a30999619d7: Pushed
2e669e0134f5: Pushed
8bacec4e3446: Pushed
26b1991f37bd: Pushed
55e6b89812f3: Pushed
latest: digest: sha256:416e93b104aa4bceff6005ec6cc4e073196f98d8e3aa4564c3f7d6ad3591d767 size: 2422 #curl验证
[root@localhost home]# curl http://127.0.0.1:5000/v2/_catalog
{"repositories":["testtomcat"]}
3. 拉取镜像
#查看镜像
[root@localhost home]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
registry latest f32a97de94e1 6 months ago 25.8MB #拉取docker私服镜像
[root@localhost home]# docker pull 127.0.0.1:5000/testtomcat
Using default tag: latest
latest: Pulling from testtomcat
092586df9206: Pull complete
ef599477fae0: Pull complete
4530c6472b5d: Pull complete
d34d61487075: Pull complete
272f46008219: Pull complete
12ff6ccfe7a6: Pull complete
f26b99e1adb1: Pull complete
21bec9c8ea28: Pull complete
e2f6023231f2: Pull complete
c47eb491a5e3: Pull complete
Digest: sha256:416e93b104aa4bceff6005ec6cc4e073196f98d8e3aa4564c3f7d6ad3591d767
Status: Downloaded newer image for 127.0.0.1:5000/testtomcat:latest #再次查看镜像
[root@localhost home]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
127.0.0.1:5000/testtomcat latest 365b0a528e2e 4 days ago 506MB
registry latest f32a97de94e1 6 months ago 25.8MB
4.删除私服镜像
# 查看当前docker私服中的镜像
[root@localhost ~]# curl http://127.0.0.1:5000/v2/_catalog
{"repositories":["mingbytesiteweb"]} # 查看docker私服容器,重点是 CONTAINER ID
[root@localhost ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
67b0ac405616 registry:latest "/entrypoint.sh /etc…" 44 hours ago Up 44 hours 0.0.0.0:5000->5000/tcp qdockerhub # 删除docker私服中的“mingbytesiteweb”镜像
# 其中67b0ac405616 为docker私服容器id
[root@localhost ~]# docker exec 67b0ac405616 rm -rf /var/lib/registry/docker/registry/v2/repositories/mingbytesiteweb # 清除掉blob
# 67b0为docker私服容器id
[root@localhost ~]# docker exec 67b0 bin/registry garbage-collect /etc/docker/registry/config.yml 0 blobs marked, 9 blobs and 0 manifests eligible for deletion
blob eligible for deletion: sha256:a381f92f36de52ade5b5610ef1b354713f21902b2ef32abf8f5101daf686e6b4
blob eligible for deletion: sha256:cce6b5d4a535e729c30f1f9140a61e5fe408250c442ad69569612094970f8035
blob eligible for deletion: sha256:d5c237920c394bda8bf1ef31b00bbde458f6978c159303e00d712a95c3f32a40
time="2019-09-20T02:53:41.576433178Z" level=info msg="Deleting blob: /docker/registry/v2/blobs/sha256/a3/a381f92f36de52ade5b5610ef1b354713f21902b2ef32abf8f5101daf686e6b4" go.version=go1.11.2 instance.id=ded69299-53f9-4ffe-9309-a707264a7549 service=registry
time="2019-09-20T02:53:41.576740825Z" level=info msg="Deleting blob: /docker/registry/v2/blobs/sha256/cc/cce6b5d4a535e729c30f1f9140a61e5fe408250c442ad69569612094970f8035" go.version=go1.11.2 instance.id=ded69299-53f9-4ffe-9309-a707264a7549 service=registry
time="2019-09-20T02:53:41.577819834Z" level=info msg="Deleting blob: /docker/registry/v2/blobs/sha256/d5/d5c237920c394bda8bf1ef31b00bbde458f6978c159303e00d712a95c3f32a40" go.version=go1.11.2 instance.id=ded69299-53f9-4ffe-9309-a707264a7549 service=registry
blob eligible for deletion: sha256:f17d81b4b692f7e0d6c1176c86b81d9f2cb5ac5349703adca51c61debcfe413c
blob eligible for deletion: sha256:01fe0503c7f786c0613596ab151412f7fd68874d80c43289e5c32725ef1c52ff
blob eligible for deletion: sha256:082bd21a11cbf8765d11f10147dc59639118b0700c43a6eef427059faa99e939
blob eligible for deletion: sha256:396a68a9a5c5ed3ab7b570199a9daee6b468b5cacd4e2a6d0040e3ea7c9bb891
blob eligible for deletion: sha256:3ba74338e49429d19a7e6609eee9f16faa369aa30cdcc295b5382999afa3143a
blob eligible for deletion: sha256:5ed7726b81ebb228b250e4ef703ec976b56f8db47d5d9f82ce93ebb026fc6e5f
time="2019-09-20T02:53:41.58367518Z" level=info msg="Deleting blob: /docker/registry/v2/blobs/sha256/f1/f17d81b4b692f7e0d6c1176c86b81d9f2cb5ac5349703adca51c61debcfe413c" go.version=go1.11.2 instance.id=ded69299-53f9-4ffe-9309-a707264a7549 service=registry
time="2019-09-20T02:53:41.58874132Z" level=info msg="Deleting blob: /docker/registry/v2/blobs/sha256/01/01fe0503c7f786c0613596ab151412f7fd68874d80c43289e5c32725ef1c52ff" go.version=go1.11.2 instance.id=ded69299-53f9-4ffe-9309-a707264a7549 service=registry
time="2019-09-20T02:53:41.589391384Z" level=info msg="Deleting blob: /docker/registry/v2/blobs/sha256/08/082bd21a11cbf8765d11f10147dc59639118b0700c43a6eef427059faa99e939" go.version=go1.11.2 instance.id=ded69299-53f9-4ffe-9309-a707264a7549 service=registry
time="2019-09-20T02:53:41.589628015Z" level=info msg="Deleting blob: /docker/registry/v2/blobs/sha256/39/396a68a9a5c5ed3ab7b570199a9daee6b468b5cacd4e2a6d0040e3ea7c9bb891" go.version=go1.11.2 instance.id=ded69299-53f9-4ffe-9309-a707264a7549 service=registry
time="2019-09-20T02:53:41.589939086Z" level=info msg="Deleting blob: /docker/registry/v2/blobs/sha256/3b/3ba74338e49429d19a7e6609eee9f16faa369aa30cdcc295b5382999afa3143a" go.version=go1.11.2 instance.id=ded69299-53f9-4ffe-9309-a707264a7549 service=registry
time="2019-09-20T02:53:41.590973494Z" level=info msg="Deleting blob: /docker/registry/v2/blobs/sha256/5e/5ed7726b81ebb228b250e4ef703ec976b56f8db47d5d9f82ce93ebb026fc6e5f" go.version=go1.11.2 instance.id=ded69299-53f9-4ffe-9309-a707264a7549 service=registry
# 删除完成
[root@localhost ~]# curl http://127.0.0.1:5000/v2/_catalog
{"repositories":[]}
错误集合
a. 运行错误1
错误提示: [root@izj6c0zsm04q86s2tu4e12z /]# docker run -it docker.io/ubuntu:latest /bin/bash
/usr/bin/docker-current: Error response from daemon: oci runtime error: container_linux.go:235: starting container process caused "process_linux.go:258: applying cgroup configuration for process caused \"Cannot set property TasksAccounting, or unknown property.\"".
解决办法: yum update
b. 私有仓库push错误(改配置后一定要重启docker)
docker私有仓库的5000端口是否在防火墙中打开
daemon.json文件中提交镜像的地址是否修改为私有docker仓库的地址
添加镜像仓库地址insecure-registries参数,内容修改如下:
vim /etc/docker/daemon.json
{
"registry-mirrors":["https://registry.docker-cn.com"],
"insecure-registries":["47.240.32.247:5000"]
}
[root@localhost bin]# systemctl daemon-reload
[root@localhost bin]# systemctl restart docker
【linux】【docker】docker私服安装的更多相关文章
- linux上Docker安装gogs私服亲测(详解)
一.前言 有网友问我为什么要使用私服,可能大部分人都不是太懂,网上那么多存储仓库而且好用方便,但是你想过没有如果企业中的项目,放在人家的仓库上这个安全性不是太好,所以说一般企业都会有自己的私服.本章教 ...
- 在docker容器中安装和使用,linux版的powershell
powershell 传教士 原创文章.始于 2016-09-18 ,2016-10-27修改powershell docker官网.允许转载,但必须保留名字和出处,否则追究法律责任 1 在任意版本的 ...
- Linux下Docker安装
1 在 CentOS 6.4 上安装 docker docker当前官方只支持Ubuntu,所以在 CentOS 安装Docker比较麻烦(Issue #172). docker官方文档说要求 ...
- Linux(Manjaro) - Docker - MySQL 安装配置
Linux(Manjaro) - Docker - MySQL 安装配置 拉取mysql镜像 # 使用网易的 MySQL 镜像地址 docker pull hub.c.163.com/library/ ...
- linux系统docker版本升级或安装
如果存在旧版本,则先卸载 最好先将镜像导出保存,以免升级后丢失或者无法使用 如有正在运行的容器,先停止 $ docker ps -q | xargs docker stop 关闭docker服务 $ ...
- Linux通过docker安装运行酷Q--用QQ骰子君进行跑团
Linux通过docker安装运行酷Q 文:铁乐与猫 需求:和小伙伴周末进行愉快的TRPG跑团,需要在QQ讨论组上加了qq小号后,将qq小号用酷Q配合投骰的应用变成骰子君. 限制:我个人的云计算服务器 ...
- Windows下docker的安装,将ASP.NET Core程序部署在Linux和Docker中
参考文章: https://www.cnblogs.com/jRoger/p/aspnet-core-deploy-to-docker.html docker for windows下载连接: htt ...
- oracle linux 6 docker 安装
docker对安装系统的内核版本有严格的要求,本文针对oracle linux 6.5进行讲解,其它系统参见: https://docs.docker.com/v1.5/installation/ 下 ...
- Linux CentOS使用yum安装Docker
Docker支持以下的CentOS版本: 目前,CentOS仅发行版本中的内核支持Docker. Docker运行在CentOS7上,要求系统为64位.系统内核版本为3.10以上. Docker运行在 ...
随机推荐
- js 设计模式&&query
1. 语法: try{ //需要执行的代码 }catch(e){ //错误处理 e程序遇到错误时的报错信息 } 2.惰性函数: 函数在第一次 ...
- 在Keras中使用VGG进行物体识别(直接使用)
https://blog.csdn.net/baimafujinji/article/details/80700263
- UVA10831题解
Gerg's Cake Gerg is having a party, and he has invited his friends. p of them have arrived already, ...
- IDEA实用教程(一)
IDEA实用教程 一. IDEA简介 简介 IDEA 全称IntelliJ IDEA,是java语言开发的集成环境. IDEA是JetBrains公司的产品. JetBrains官网 : https: ...
- 章节十六、5-TestNG高级功能--Part2
一.测试用例的依赖关系--->(dependsOnMethods = {"依赖方法名"}) 1.在实现自动化的过程中,有些测试用例必须在其它测试用例执行之后才能运行,两者之间 ...
- UGUI的图集处理方式-SpriteAtlas的前世今生
最糟糕的是人们在生活中经常受到错误志向的阻碍而不自知,真到摆脱了那些阻碍时才能明白过来. —— 歌德 说到UGUI的图集初学者可能觉得没什么难度,包括我刚开始接触的时候也是,甚至你在开发的时候只需要把 ...
- [Python] 将视频转成ASCII符号形式、生成GIF图片
一.简要说明 简述:本文主要展示将视频转成ASCII符号形式展示出来,带音频. 运行环境:Win10/Python3.5. 主要模块: PIL.numpy.shutil. [PIL]: 图像处理 [n ...
- [Python] socket实现TFTP上传和下载
一.说明 本文主要基于socket实现TFTP文件上传与下载. 测试环境:Win10/Python3.5/tftpd64. tftpd下载:根据自己的环境选择下载,地址 :http://tftpd32 ...
- 一块钱哪里去了?--java浮点型背后的故事
有这样一道智力题:三人住旅馆,老板娘说30元她们付钱后进去了,老板娘想起今天是特价25元,就叫伙计拿5元还给三位顾客,可伙计藏了2元,给了她们3元,这样她们每人得1元,就是说每人付了9元,那3*9=2 ...
- 海量数据搜索---demo展示百度、谷歌搜索引擎的实现
在我们平常的生活工作中,百度.谷歌这些搜索网站已经成为了我们受教解惑的学校,俗话说得好,“有问题找度娘”.那么百度是如何在海量数据中找到自己需要的数据呢?为什么它搜索的速度如此之快?我们都知道是因为百 ...