1. docker push
1.1. 描述
将本地镜像推送到远程镜像仓库。
使用 docker push
将镜像推送到 Docker Hub
镜像仓库或自行托管的镜像仓库。
在推送镜像时,会根据镜像的完整名称(镜像的tag)进行推送到对应的仓库,除非用户使用 docker tag
修改了镜像的tag,否则默认都会推送到 hub.docker.com
仓库。
在推送镜像到镜像仓库的过程中,可以使用 CTRL-c
快捷键终止该推送过程。
docker push
期间显示的进度条中的大小是镜像未压缩时的大小,实际在上传数据前会对镜像数据进行压缩.
对于有安全校验的镜像仓库,在 push 镜像前需要先使用命令 docker login
登录。
并发上传。默认情况下,Docker 守护程序一次将推送五层镜像。如果您使用的是低带宽连接,则可能会导致超时问题,您可能希望通过 --max-concurrent-uploads
的系统 daemon 进程选项降低超时时间。
1.2. 帮助
$ docker push --help
Usage: docker push [OPTIONS] NAME[:TAG]
Push an image or a repository to a registry
Options:
--disable-content-trust Skip image signing (default true)
1.3. 选项
名称,简写 | 默认 | 描述 |
---|---|---|
--disable-content-trust | true | 跳过镜像签名校验 |
1.4. 示例
将新镜像推送到镜像仓库
首先找到容器的 ID(使用 docker ps
),将其提交为新的镜像。注意:镜像的名称字符要求必须属于a-z0-9-_.
才被允许。
$ docker commit c16378f943fe rhel-httpd
将新的镜像推送到镜像仓库。镜像仓库的服务器地址 registry-host
,监听的端口是 5000
,因此需要修改镜像的tag信息
$ docker tag rhel-httpd registry-host:5000/myadmin/rhel-httpd
$ docker push registry-host:5000/myadmin/rhel-httpd
在 push 正常完成后,可以在另外一台机器上验证是否上传成功。 另外一台机器
$ docker pull registry-host:5000/myadmin/rhel-httpd
$ docker images