前戏

前面我们自己做了个docker镜像,我们可以上传到docker hub,别人就可以下载使用了

发布到docker hub

我们前面使用docker search 查找的镜像都是从docker hub进行查找的,这里管理着最全的docker镜像,我们也可以上传我们的镜像

docker hub官网:https://hub.docker.com/

1.先登录docker hub

[root@HH tmp]# 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: zouzou0214
Password:
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store Login Succeeded

2.更改镜像名称(tag是账户名)

注意要保证image的tag是账户名,如果镜像名字不对,需要改一下tag

docker tag zz/my-docker-flask zouzou0214/my-docker-flask

语法是: docker tag 仓库名 账户名/仓库名

docker tag zouzu0214/my-docker-flask:latest zouzou0214/my-docker-flask

3.推送到自己的docker hub上

[root@HH tmp]# docker push zouzou0214/my-docker-flask
The push refers to repository [docker.io/zouzou0214/my-docker-flask]
ed6d87727896: Pushed
d715287dbe47: Pushed
75cf052a90dc: Pushed
a7ced2beb634: Pushed
3d55a1be5031: Pushed
b1febd32aebe: Pushed
877b494a9f30: Pushed
latest: digest: sha256:70e7f41a767c333bb36dedadedee9655f64de8580a693f0a511925d8ce9eead6 size: 1784

4.登录https://hub.docker.com/查看自己推送的公网镜像

# 1.注册docker id后,在linux中登录dockerhub
docker login 注意要保证image的tag是账户名,如果镜像名字不对,需要改一下tag
docker tag docker-flask zouzou0214/my-docker-flask
语法是: docker tag 仓库名 用户名/仓库名 # 2.推送docker image到dockerhub
docker push yuchao163/centps-cmd-exec:latest
# 3.在dockerhub中检查镜像
https://hub.docker.com/
# 4.删除本地镜像,测试下载pull 镜像文件
docker pull zouzou0214/my-docker-flask

发布到私有仓库

发布到docker hub上其他人也是可以下载,并不安全,因此还可以使用docker registry官方提供的私有仓库。

构建公司私有docker仓库,其实就是搭建一个api服务器,通过api可以下载镜像

# 1.下载docker官方提供的私有仓库镜像
docker pull registry
# 2.查看镜像
docker images
# 3.启动一个私有仓库容器
docker run -d \
-p 5000:5000 \
-v /opt/data/registry:/var/lib/registry \
registry
# 4.此时可以检查容器进程
docker ps
# 5.此时私有仓库就打开了5000端口,通过端口映射,访问宿主机的5000端口,查看是否通信
yum install telnet -y telnet 127.0.0.1 5000 #检测5000端口是否通信 # 6.修改本地镜像的tag标签,标注我要往哪push镜像
docker tag docker.io/hello-world 192.168.12.96:5000/s14-hello # 7.修改docker配置,允许非安全的传输方式 1.vim /etc/docker/daemon.json,写入信息,私有仓库地址,都得改成自己的
{"registry-mirrors": ["http://95822026.m.daocloud.io"],
"insecure-registries":["192.168.12.96:5000"]
}
2.修改docker.server
vim /lib/systemd/system/docker.service
#写入如下信息,请在[service]中写入
[Service]
EnvironmentFile=/etc/docker/daemon.json # 8.重启docker服务,使得生效
systemctl daemon-reload #重新加载docker配置文件 systemctl restart docker #重启docker服务 # 9. #重启docker服务,会停止容器,因此要再次启动 docker ps -a
docker start b23bcfe42e80 #启动这个私有仓库容器 # 10.推送本地镜像到 私有仓库 192.168.12.96:5000
docker push 192.168.12.96:5000/s14-hello # 11.此时访问api接口,查看私有仓库的数据
http://192.168.12.96:5000/v2/_catalog

-v 参数 挂载宿主机的文件:容器内的文件夹

docker run -p 8000:8080 -v /opt/zou:/opt/data/ -d 43d
启动容器,通过-v参数挂载
挂载容器内的/opt/data/文件夹,其实访问的是宿主机的/opt/zou/

docker--发布docker镜像的更多相关文章

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

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

  2. Docker系列-(2) 镜像制作与发布

    上篇文章引入了Docker的基本原理和操作,本节文章主要介绍如何制作Docker镜像和发布. 镜像文件结构 Docker镜像的本质是一系列文件的集合,这些文件依次叠加,形成了最后的镜像文件,类似于下图 ...

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

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

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

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

  5. Docker | 发布镜像到镜像仓库

    本文记录发布镜像到 DockerHub 和 阿里云镜像仓库.工作中使用的是JFrog Artifactory 和 Harbor,没有太大差别. 发布镜像到DockerHub https://hub.d ...

  6. Docker发布镜像至Docker Hub

    第一步:Docker生成镜像 docker@default:~$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE metal-workbench- ...

  7. 4.docker学习之镜像

    镜像 我们知道,我们想在Windows操作系统上跑Linux,需要安装一个虚拟机程序,然后下载一个Linux镜像,在该虚拟机程序中创建一个虚拟机,并使用该镜像安装对应的Linux操作系统,安装好之后, ...

  8. .NET Core使用skiasharp文字头像生成方案(基于docker发布)

    一.问题背景 目前.NET Core下面针对于图像处理的库微软并没有集成,在.NET FrameWork下我们已经习惯使用System.Drawing类库做简单的图像处理,到了.NET Core下一脸 ...

  9. docker 发布方式尝试

    docker 发布方式尝试 目前有个小项目, 尝试用docker的方式来发布, 项目只有一个节点, 使用 kubenate 有点小题大做, 所以采用docker-compose来发布. 发布过程 GI ...

  10. docker发布netcore网站-零散记录

    安装docker 安装Linux,使用云服务器或者虚拟机 参考:http://www.cnblogs.com/wangjieguang/p/hyper-v-ubuntu.html 系统更新 sudo ...

随机推荐

  1. 基于web公交查询系统----管理员公交站点管理页面实现

    主要用到内容:vue,coreui bootstrap框架,Ajax,springmvc搭建的接口,css之类的都是顺手拈来的简单的界面设计 网页代码: <!DOCTYPE html> & ...

  2. vue+Element 表格中的树形数据

    template部分   只在树形的结构中显示编辑与删除按钮 这里我只是简单的做了一个 v-if 判断在操作列中 ,判断是否存在级别这个字段 <div> <el-table :dat ...

  3. 【笔记】Clean Code(持续更新)

    这个暑假出来实习,第一次体会到在一个团队中开发的体验,与网上的网站看到的大为不同,以前看网上说什么程序员写了屎山代码,写了一堆模糊的注释或者说垃圾代码不写注释. 但在我的实习体验中,代码虽然看起来很多 ...

  4. Mac操作:Mac系统移动鼠标显示桌面(移动鼠标到角落)

    很多朋友都发现,有的人在用Mac的时候,鼠标一划就可以显示桌面,或者显示Launchpad.其实很简单,下面就介绍这个方法. 首先打开系统偏好设置: 然后点击红色圈中的图标:MissionContro ...

  5. 转:xcode项目打不开:incompatible project version问题

    这个是xcode版本对应不上,不一定要修改版本,我们修改记录版本的文件里面的版本号就行了. 低版本xcode打开高版本xcode项目或库工程的时候就会出现,打不开的问题 解决 1可以重建创建工程,将文 ...

  6. Loj #2719. 「NOI2018」冒泡排序

    Loj #2719. 「NOI2018」冒泡排序 题目描述 最近,小 S 对冒泡排序产生了浓厚的兴趣.为了问题简单,小 S 只研究对 *\(1\) 到 \(n\) 的排列*的冒泡排序. 下面是对冒泡排 ...

  7. LeetCode 200:岛屿数量 Number of Islands

    题目: 给定一个由 '1'(陆地)和 '0'(水)组成的的二维网格,计算岛屿的数量.一个岛被水包围,并且它是通过水平方向或垂直方向上相邻的陆地连接而成的.你可以假设网格的四个边均被水包围. Given ...

  8. 【shell脚本】将三个数字进行升序排序===numSort.sh

    从命令输入三个数字进行升序排序(冒泡排序) 原理:比较两个相邻的元素,将值大的元素交换至右端. 脚本内容: [root@VM_0_10_centos shellScript]# cat numSort ...

  9. redis之线程IO模型

    非阻塞 IO 当我们调用套接字的读写方法,默认它们是阻塞的,比如 read 方法要传递进去一个参数n,表示读取这么多字节后再返回,如果没有读够线程就会卡在那里,直到新的数据到来或者连接关闭了,read ...

  10. Logstash:Data转换,分析,提取,丰富及核心操作

    Logstash:Data转换,分析,提取,丰富及核心操作 Logstash plugins Logstash是一个非常容易进行扩张的框架.它可以对各种的数据进行分析处理.这依赖于目前提供的超过200 ...