我有一个标记为me/my-image的docker映像,我在dockerhub上有一个命名为me-private的私有repo。 当我推行我自己/我的形象时,我最终总是撞上公共回购。
具体将映像推到私有repo的确切语法是什么?
我有一个标记为me/my-image的docker映像,我在dockerhub上有一个命名为me-private的私有repo。 当我推行我自己/我的形象时,我最终总是撞上公共回购。
具体将映像推到私有repo的确切语法是什么?
当前回答
简单的工作解决方案:
访问这里https://hub.docker.com/创建一个私有存储库,例如johnsmith/ PRIVATE -repository,这是您在构建映像时将用于映像的name / repository。
首先,docker登录 其次,我使用“docker build -t johnsmith/private-repository:01 .”(其中01是我的版本名)来创建图像,并且我使用“docker images”来确认创建的图像,例如下面这个黄色框中的图像:(对不起,我不能粘贴表格格式,但只能粘贴文本字符串)
johnsmith/private-repository(REPOSITORY) 01(TAG) c5f4a2861d6e(IMAGE ID) 2 days ago(CREATED) 305MB(SIZE)
第三,我使用docker推送johnsmith/private-repository:01(你的私人回购将在这里的例子https://hub.docker.com/r/johnsmith/private-repository/)
完成了!
其他回答
只需简单的三步:
Docker登录——username用户名 如果你省略了——password,提示输入密码,这是推荐的,因为它不会存储在你的命令历史中 Docker标签my-image用户名/my-repo Docker推送用户名/my-repo
如果你的docker注册表是私有和自托管的,你应该做以下事情:
docker login <REGISTRY_HOST>:<REGISTRY_PORT>
docker tag <IMAGE_ID> <REGISTRY_HOST>:<REGISTRY_PORT>/<APPNAME>:<APPVERSION>
docker push <REGISTRY_HOST>:<REGISTRY_PORT>/<APPNAME>:<APPVERSION>
例子:
docker login repo.company.com:3456
docker tag 19fcc4aa71ba repo.company.com:3456/myapp:0.1
docker push repo.company.com:3456/myapp:0.1
在dockerhub上创建存储库:
$docker tag IMAGE_ID用户名ondockerhub /repoNameOnDockerhub:最新
$docker push UsernameOnDockerhub/repoNameOnDockerhub:最新
注:此处 "repoNameOnDockerhub":您所提到的名称的存储库已经存在 呈现在dockerhub上
"latest":只是标签
首先,你需要用你的注册主机正确地标记你的图像:
docker tag [OPTIONS] IMAGE[:TAG] [REGISTRYHOST/][USERNAME/]NAME[:TAG]
然后docker push使用相同的标签。
docker push NAME[:TAG]
例子:
docker tag 518a41981a6a myRegistry.com/myImage
docker push myRegistry.com/myImage
有两种选择:
Go into the hub, and create the repository first, and mark it as private. Then when you push to that repo, it will be private. This is the most common approach. log into your docker hub account, and go to your global settings. There is a setting that allows you to set what your default visability is for the repositories that you push. By default it is set to public, but if you change it to private, all of your repositories that you push will be marked as private by default. It is important to note that you will need to have enough private repos available on your account, or else the repo will be locked until you upgrade your plan.