公有仓库

docker提供了一个类似于github的仓库dockerhub, 网址 https://hub.docker.com/ 需要注册使用

注意要保证image的tag是账户名,如果镜像名字不对,需要改一下tag
        docker  tag   wl/centos-vim   wanglan/centos-vim
语法是: docker   tag    仓库名                wanglan/仓库名

注册docker id后,在linux中登录dockerhub

[root@localhost mydocker]# docker login
Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one.
Username:

上传镜像(上传hello-world)

[root@localhost mydocker]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu latest 94e814e2efa8 2 days ago 88.9MB
hello-world latest fce289e99eb9 2 months ago 1.84kB
centos latest 1e1148e4cc2c 3 months ago 202MB [root@localhost mydocker]# docker tag fce wanglan/hello-world [root@localhost mydocker]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu latest 94e814e2efa8 2 days ago 88.9MB
hello-world latest fce289e99eb9 2 months ago 1.84kB
wanglan/hello-world latest fce289e99eb9 2 months ago 1.84kB
centos latest 1e1148e4cc2c 3 months ago 202MB [root@localhost mydocker]# docker push wanglan/hello-world
The push refers to repository [docker.io/wanglan/hello-world]
af0b15c8625b: Mounted from library/hello-world
latest: digest: sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a size: 524

查看

私有仓库

但是这种镜像仓库是公开的,其他人也是可以下载,并不安全,因此还可以使用docker registry官方提供的私有仓库

官方提供的私有仓库docker registry用法

https://yeasy.gitbooks.io/docker_practice/repository/registry.html

一条命令下载registry镜像并且启动私有仓库容器

私有仓库会被创建在容器的/var/lib/registry下,因此通过-v参数将镜像文件存储到本地的/opt/data/registry下,端口映射容器中的5000端口到宿主机的5000端口

[root@localhost mydocker]# docker run -d \
-p 5000:5000 \
-v /opt/data/registry:/var/lib/registry \
registry

检查启动registry容器

[root@localhost mydocker]# docker ps

测试连接容器

[root@localhost mydocker]# telnet 192.168.11.174 5000
Trying 192.168.11.174...
Connected to 192.168.11.174.
Escape character is '^]'. 或输入ip:端口访问

修改镜像tag,以docker registry的地址端口开头

[root@localhost mydocker]# docker tag hello-world 192.168.11.174:5000/hello-world

Docker 默认不允许非 HTTPS 方式推送镜像。我们可以通过 Docker 的配置选项来取消这个限制,这里必须写正确json数据

[root@localhost opt]# cat /etc/docker/daemon.json
{"registry-mirrors": ["http://95822026.m.daocloud.io"],
"insecure-registries":["192.168.11.174:5000"]
}

修改了docker配置文件,需要制定docker服务,去加载这些代码,编辑这个文件 /lib/systemd/system/docker.service ,写入新的配置

vim /lib/systemd/system/docker.service
写入如下配置,改成和我一样就行
[Service]
EnvironmentFile=-/etc/docker/daemon.json

修改了docker配置文件,重新加载docker

[root@localhost opt]# systemctl daemon-reload

重启docker

[root@localhost opt]# systemctl restart docker

由于重启了docker,私有仓库的容器也挂了,需要重新启动

docker run --privileged=true -d -p 5000:5000 -v /opt/data/registry:/var/lib/registry registry

推送本地镜像到 私有仓库

[root@localhost system]# docker push 192.168.11.174:5000/hello-world

发布Docker 镜像到dockerhub的更多相关文章

  1. 如何使用vs将asp.net core项目添加容器支持并发布docker镜像到私有dockerhub和添加k8s/helm管理

    这篇文章介绍一下,如何使用VS2017给asp.net core添加容器支持,并发布镜像到私有docker hub,然后用chart管理容器镜像的操作流程. 话不多说,just do it. 新建项目 ...

  2. 【OF框架】在Visual Studio中发布Docker镜像,推送镜像到Azure容器注册表

    准备 拥有Azure账号,已经创建 Azure容器注册表,获得注册表地址.账号.密码 本地已经在Visual Studio登录Azure账号. 本地已经拥有Docker环境 注意:首次发布Docker ...

  3. net core 发布docker镜像的官方写法

    使用vscode发布的镜像可能存在不能运行的问题, 可以去docker的官方文档下找一个标准的格式再替换一下就可以用了: FROM mcr.microsoft.com/dotnet/core/sdk: ...

  4. 如何push一个docker镜像到DockerHub上

    在DockerHub上创建账号:https://hub.docker.com/ 这里我的账号是firewarm 本地下载镜像(这里拿alpine做示例),并为镜像打tag [root@host-30 ...

  5. 如何提交docker镜像到DockerHub

    Write a Dockerfile In detail: FROM(指定基础image) 构建指令,必须指定且需要在Dockerfile其他指令的前面.后续的指令都依赖于该指令指定的image.FR ...

  6. 程序员修神之路--打通Docker镜像发布容器运行流程

    菜菜哥,我看了一下docker相关的内容,但是还是有点迷糊 还有哪不明白呢? 如果我想用docker实现所谓的云原生,我的项目该怎么发布呢? 这还是要详细介绍一下docker了 Docker 是一个开 ...

  7. 容器技术之Docker镜像

    前文我们聊了下docker的基础使用方法,大概介绍了下docker的架构,管理镜像.运行容器.管理容器的一些相关命令说明:回顾请参考https://www.cnblogs.com/qiuhom-187 ...

  8. Docker镜像管理基础篇

    Docker镜像管理基础篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Docker Images Docker镜像还有启动容器所需要的文件系统及其内容,因此,其用于创建并启 ...

  9. 3.docker镜像管理基础

    一.docker镜像相关 1.About Docker Image Docker镜像含有启动容器所需要的文件系统及其内容,因此,其用于创建并启动docker容器. 采用分层构建机制,最底层为bootf ...

随机推荐

  1. 随机森林学习-2-sklearn

    # -*- coding: utf-8 -*- """ RandomForestClassifier skleran的9个模型在3份数据上的使用. 1. 知识点: skl ...

  2. 改变input标签中placeholder显示的颜色

    ::-webkit-input-placeholder { /* WebKit browsers */ color: #A9A9A9; } :-moz-placeholder { /* Mozilla ...

  3. Mac配置Java开发环境

    笔者从Window上转到Mac上做开发,一切配置都要重新开始,开发环境配置介绍如下: 1. 下载JDK 从下面链接选择合适版本的安装包进行下载...笔者下载的是jdk-9.0.1 链接:http:// ...

  4. JQuery 插件一般方法

    如今做web开发,jquery 几乎是必不可少的,就连vs神器在2010版本开始将Jquery 及ui 内置web项目里了.至于使用jquery好处这里就不再赘述了,用过的都知道.今天我们来讨论下jq ...

  5. C++ code:数值计算之矩形法求解积分问题

    积分的通常方法是将区域切割成一个个的小矩形,然后求这些小矩形的和.小矩形切割得越细,计算精度就越高,可以将切割小矩形的数量作为循环迭代变量,将前后两个不同精度下的小矩形和之差,作为逼近是否达到要求的比 ...

  6. Fiddler抓包10-会话框添加查看get与post请求类型

    前言 在使用fiddler抓包的时候,查看请求类型get和post每次只有点开该请求,在Inspectors才能查看get和post请求,不太方便.于是可以在会话框直接添加请求方式. 一.添加会话框菜 ...

  7. java根据word模板导出word文件

    1.word模板文件处理,如下图所示在word 文档中填值的地方写入占位变量 2.将word文档另存为xml文件.编辑如下图,找到填写的占位,修改为${bcrxm}格式 3.将文件后缀名改为.ftl文 ...

  8. Python中包(package)的调用方式

     一.什么是Python Package 如何区分你看到的目录是一个Python Package包呢?其实很简单,你只要看这个名录下是否有“__init__.py”这个文件就好了,如果有那么就是Pyt ...

  9. Android开发之实现多次点击事件

    在Android中给我们提供了单次点击事件.但并没有给我们提供双击,或者实现在一定时间内的多次事件.所以需要我们自己在单机监听上进行修改实现. 有如下两种实现方式: 1.定义一个存贮上一个第一次点击的 ...

  10. python下载文件的方法

    前一段时间是爬文字,最近准备爬图片 找到了两种保存文件的方法 一种是用urllib.urlretrieve方法 #-*- coding: utf-8 -*- import urllib def cal ...