前戏

前面我们自己做了个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. not in和not exists区别

    如果查询语句使用了not in 那么内外表都进行全表扫描,没有用到索引: 而not extsts 的子查询依然能用到表上的索引. 所以无论那个表大,用not exists都比not in要快. 也就是 ...

  2. VMware exsi虚拟机磁盘扩容

    创建Linux时分配磁盘空间随着使用的增加,使用率逐渐升高,需要对/root进行扩容,此时需要在添加或者扩展一下磁盘. 查看Linux版本信息 [root@localhost ~]# cat /etc ...

  3. tensorflow之tf.to_float

    1. tf.to_float()       # 将张量转换为float32类型 2. tf.to_int32()     # 将张量转换为int32类型 等等, 就是将张量转换成某一种类型.

  4. Tensorflow faster rcnn系列一

    注意:本文主要是学习用,发现了一个在faster rcnn训练流程写的比较详细的博客. 大部分内容来自以下博客连接:https://blog.csdn.net/weixin_37203756/arti ...

  5. react 练习参考

    项目地址:https://gitee.com/dhclly/icedog.react React 练习项目 相关资源链接 React官方 https://reactjs.org React 中国 ht ...

  6. Express 框架以及与http-proxy-middleware整合实现代理

    1.Express的简单使用 1.简介 Express 是一个简洁而灵活的 node.js Web应用框架, 提供了一系列强大特性帮助你创建各种 Web 应用,和丰富的 HTTP 工具. 使用 Exp ...

  7. 异步IO/协程/数据库/队列/缓存(转)

    原文:Python之路,Day9 - 异步IO\数据库\队列\缓存 作者:金角大王Alex add by zhj: 文章很长 引子 到目前为止,我们已经学了网络并发编程的2个套路, 多进程,多线程,这 ...

  8. 【UOJ#386】【UNR#3】鸽子固定器(贪心)

    [UOJ#386][UNR#3]鸽子固定器(贪心) 题面 UOJ 题解 一个不难想到的暴力做法是把东西按照\(s\)排序,这样子我们枚举极大值和极小值,那么我们选择的一定是这一段之间\(v\)最大的那 ...

  9. vscode搜索所有文件夹中所有文件的方法

    最近在看opencv相关的内容,看到画图这一部分时,提示我  这些代码都来自OpenCV代码的sample文件夹. 按照他的提示,我打开了相应的文件夹,却发现,so many 文件 and 文件夹,这 ...

  10. C 输入和输出、char类型

    参考链接:https://www.runoob.com/cprogramming/c-input-output.html 标准输入输出头文件stdio.h #include是一个预处理指令,用于引入s ...