如何push一个docker镜像到DockerHub上

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何push一个docker镜像到DockerHub上相关的知识,希望对你有一定的参考价值。

有时候想要保存自己的docker镜像,又不想自己搭建docker registry,那么就可以了借用DockerHub来用,一般不会有多少人在意你的镜像,不过万一被人看上了呢,这谁说的准呢,废话不多说,下面来看看操刀记录

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

登录到DockerHub上
[root@host-30 ~]# docker login
# 输入用户名和密码

push镜像到DockerHub上
[root@host-30 ~]# docker push firewarm/alpine:3.4
The push refers to a repository [docker.io/firewarm/alpine]
4fe15f8d0ae6: Pushed
3.4: digest: sha256:dc89ce8401da81f24f7ba3f0ab2914ed9013608bdba0b7e7e5d964817067dc06 size: 528
参考技术A docker push 推的是全镜像 到目前为止,Docker看起来还很像一个典型的Linux虚拟化栈。实际上,Docker镜像的第二层是root文件系统rootfs,它位于引导文件系统之上。rootfs可以是一种或多种操作系统(如Debian或者Ubuntu文件系统)。

docker push 镜像到 nexus

nexus 安装:https://blog.csdn.net/hanjun0612/article/details/105199191

docker destop 安装:https://blog.csdn.net/hanjun0612/article/details/119798564

一,打开powershell

获取一个 hello-world 镜像

docker run hello-world

二,修改tag

#login  nexusip:port  是你的nexus地址和端口
docker login --username=admin --password="admin" nexusip:port
#修改tag名
#其实这里tag是对的,只是需要前缀namespace
#因此打包前,把<imageName>设置为 docker_hosted/imageName:tag 就可以忽略这一步
docker tag imageID nexus的docker_hosted/hello-world:1.0
#上传
docker push nexus的docker_hosted/hello-world:1.0

以上是关于如何push一个docker镜像到DockerHub上的主要内容,如果未能解决你的问题,请参考以下文章

使用dockerrun命令的时候发现没有本地镜像会如何处理

Docker push镜像到远程仓库

使用Maven插件构建SpringBoot项目,生成Docker镜像push到DockerHub上

docker push 镜像到 nexus

docker打包镜像操作以及如何把镜像push至DockerHub

docker-07-push镜像到阿里云镜像服务