镜像可以很方便直接 push 到 docker 的公共仓库或阿里云仓库
一、Dockerpush指定仓库是什么?
Dockerpush是Docker的一个命令,用于将本地的Docker镜像推送到Docker官方公共仓库或用户私人仓库。而指定仓库则是将这个Docker镜像推送到指定的仓库中。
通过Dockerpush指定仓库,开发者可以将自己构建的Docker镜像上传到所配置的私人仓库中,方便自己和他人进行部署和使用。此外,指定仓库还能够帮助开发者将其Docker镜像与不同的云计算平台结合使用,保证在不同的环境中运行时都能够正常工作。
二、Dockerpush指定仓库的语法及参数
下面是Dockerpush指定仓库的语法与常用参数:
docker push [OPTIONS] NAME[:TAG]
OPTIONS说明:
--disable-content-trust 默认开启Docker镜像的安全性校验,此选项禁止校验。
--quiet, -q 不输出详细信息。
--registry string 推送到仓库的地址。默认是官方公共仓库。
三、如何将Docker镜像推送至指定仓库
以下是将Docker镜像推送至指定仓库的流程:
1、登录到Docker Hub或私人仓库。
登录成功后,使用docker login命令可以将登录信息存储在本地。
$ docker login [OPTIONS] [SERVER]
2、打标签,确定要推送的镜像标签。
$ docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]
3、推送Docker镜像到指定仓库。默认情况下,Docker推送到Docker Hub官方公共仓库。
$ docker push [OPTIONS] NAME[:TAG]
四、将Docker镜像推送至私人仓库的示例
以下是将Docker镜像推送至私人仓库的示例:
1、首先,登录私人仓库。
例如,某私人仓库的地址为registry.example.com,需要使用用户名和密码进行登录。
$ docker login registry.example.com
Username:yourname
Password:yoursecret
Email:youremail@example.com
2、在上传前给要上传的镜像打上标签。
例如,要上传PHP镜像的版本7.2,则使用以下命令打标签:
$ docker tag php:7.2 registry.example.com/php:7.2
3、上传镜像。
例如,使用以下命令将镜像推送至registry.example.com私人仓库:
$ docker push registry.example.com/php:7.2
五、总结
通过以上步骤,开发者即可将构建的Docker镜像推送至指定的仓库中。使用Dockerpush指定仓库,能够方便地管理Docker镜像,并在不同的环境中进行部署和使用。
五、将Docker镜像推送至私人仓库的示例二
1、上传至docker仓库
登录docker hub创建自己的仓库地址:
https://hub.docker.com/repository/create
创建时,仓库名称要与镜像名称对应
2、登录镜像
docker login -u 1185223710 # 1185223710 为仓库名称
登录docker仓库,输入密码
3.将容器变为镜像
// 找到运行中的容器 (复制你要打包的容器的id)
docker ps
// 打包为镜像 (86d78d59b104:容器的id 、 my_centos:我们要打包成的镜像的名字)
docker commit 86d78d59b104 my_centos
// 找到打包的镜像
docker images
3.1 将镜像打成标签
// my_sql:镜像的名字 、 1185223710:docker仓库的用户名 、 mysql:新建的仓库名 、 v1:版本号,可以不设置
docker tag my_centos 1185223710/mysql:v1
3.2 将标签上传镜像仓库
// 1185223710/mysql57:v1 对应上面的
docker push liqiye/mysql:v1
3.3 下载自己的镜像
// 记得先登录
docker login
// 根据版本号拉取
docker pull 1185223710/mysql:v1
3.4 修改镜像名称
// 记得先登录
docker login
// 根据版本号拉取
docker pull 1185223710/mysql:v1