上传镜像到dockerhub

• 14 分钟阅读 • docker

很多docker hub上拉下来的镜像,通过修改配置文件等操作,定制成了适合自己的镜像,以后用自己的镜像就可以,因此需要上传到docker hub,以后可以像代码一样管理维护自己的docker镜像。

注册docker hub帐号

用github帐号登录比较省事,进入之后,到设置里,重置密码,github关联的邮箱会收到一个邮件,点击里面的reset password,设定新密码(github帐号登录,不知道原密码)。

上传镜像

root@fnos:/vol1/1000/files/phpserver# docker build -t qs100371/phpserver .
[+] Building 257.0s (12/12) FINISHED                                                                                        docker:default
 => [internal] load build definition from Dockerfile                                                                                  0.0s
 => => transferring dockerfile: 810B                                                                                                  0.0s
 => [internal] load metadata for docker.io/library/php:7.3-fpm-alpine3.11                                                             6.8s
 => [internal] load .dockerignore                                                                                                     0.1s
 => => transferring context: 2B                                                                                                       0.0s
 => [internal] load build context                                                                                                     0.1s
 => => transferring context: 78.09kB                                                                                                  0.0s
 => [1/7] FROM docker.io/library/php:7.3-fpm-alpine3.11@sha256:b0d07b0ccb6847add12a222025066d406a55f055acfce79e935e3688fe2213dc      12.0s
 => => resolve docker.io/library/php:7.3-fpm-alpine3.11@sha256:b0d07b0ccb6847add12a222025066d406a55f055acfce79e935e3688fe2213dc       0.1s
 => => sha256:b0d07b0ccb6847add12a222025066d406a55f055acfce79e935e3688fe2213dc 1.65kB / 1.65kB                                        0.0s
 => => sha256:f26b38e1d1e503719e9a93306518ee64cb040591e2e77455f9404dcbe0abe0ea 2.41kB / 2.41kB                                        0.0s
 => => sha256:0a6724ff3fcd51338afdfdc2b1d4ffd04569818e31efad957213d67c29b45101 2.81MB / 2.81MB                                        1.6s
 => => sha256:e44499b54ee1b3a82620949ded34d8dff62f62c31af825813c411dca02221545 10.81kB / 10.81kB                                      0.0s
 => => sha256:30177fe68f41251db4154b9ede629b50cf46f8142292847838732a38bb194984 1.35MB / 1.35MB                                        4.9s
 => => sha256:5c3561a9c216a44f78e647d18c1b886f33965e78ba6f4f469a4ae39a83b35570 1.23kB / 1.23kB                                        2.8s
 => => extracting sha256:0a6724ff3fcd51338afdfdc2b1d4ffd04569818e31efad957213d67c29b45101                                             0.1s
 => => sha256:aea44d2ba8a00c1289b5e933f447c8bfdcacfac338c29df91beeb2d04e9cf252 222B / 222B                                            4.2s
 => => sha256:32afa3d697dcdc8db71583c1f11ea63e83fa0b50679d193e76489257d7a75f60 12.16MB / 12.16MB                                      6.1s
 => => sha256:56873af001f51516cb8bc2a707ae9c600052991fdca886ef05b4945d52b43790 499B / 499B                                            6.6s
 => => extracting sha256:30177fe68f41251db4154b9ede629b50cf46f8142292847838732a38bb194984                                             0.2s
 => => sha256:733923ed2a99b60252d644a85b69f7e161c7657dcfc78c5b1bba319ec6c04de9 14.45MB / 14.45MB                                      8.3s
 => => extracting sha256:5c3561a9c216a44f78e647d18c1b886f33965e78ba6f4f469a4ae39a83b35570                                             0.0s
 => => extracting sha256:aea44d2ba8a00c1289b5e933f447c8bfdcacfac338c29df91beeb2d04e9cf252                                             0.0s
 => => extracting sha256:32afa3d697dcdc8db71583c1f11ea63e83fa0b50679d193e76489257d7a75f60                                             0.2s
 => => sha256:bb1c97b69d9bec328df231a72fdad42d18c1c876dc8fcdd131252c1a7831b500 2.26kB / 2.26kB                                        8.3s
 => => extracting sha256:56873af001f51516cb8bc2a707ae9c600052991fdca886ef05b4945d52b43790                                             0.0s
 => => sha256:9e92f7703aa501096d99f3ca2ab4eb8b2b31bf9bd8c6432d3e020b769c671623 16.91kB / 16.91kB                                      9.2s
 => => extracting sha256:733923ed2a99b60252d644a85b69f7e161c7657dcfc78c5b1bba319ec6c04de9                                             0.9s
 => => sha256:3343336c836137a1ebc8b7ebb2489b6a54ea587233fc68221a80af1470e824af 8.41kB / 8.41kB                                       10.9s
 => => extracting sha256:bb1c97b69d9bec328df231a72fdad42d18c1c876dc8fcdd131252c1a7831b500                                             0.0s
 => => extracting sha256:9e92f7703aa501096d99f3ca2ab4eb8b2b31bf9bd8c6432d3e020b769c671623                                             0.0s
 => => extracting sha256:3343336c836137a1ebc8b7ebb2489b6a54ea587233fc68221a80af1470e824af                                             0.0s
 => [2/7] ADD repositories /etc/apk/repositories                                                                                      0.2s
 => [3/7] ADD default.conf /                                                                                                          0.1s
 => [4/7] ADD index.php /                                                                                                             0.1s
 => [5/7] ADD run.sh /                                                                                                                0.2s
 => [6/7] ADD php.ini /usr/local/etc/php/                                                                                             0.2s
 => [7/7] RUN apk update && apk add nginx &&     apk add m4 autoconf make gcc g++ linux-headers &&     docker-php-ext-install pdo_  236.6s
 => exporting to image                                                                                                                0.4s
 => => exporting layers                                                                                                               0.4s
 => => writing image sha256:7a1366cb9eb3d6ce5416c10a1385a62112b7b5df546dc5fd7d7496ba94165db6                                          0.0s
 => => naming to docker.io/qs100371/phpserver                    
root@fnos:/vol1/1000/files/phpserver# docker login -u qs100371

i Info → A Personal Access Token (PAT) can be used instead.
        To create a PAT, visit https://app.docker.com/settings
        
        
Password: 

WARNING! Your credentials are stored unencrypted in '/root/.docker/config.json'.
Configure a credential helper to remove this warning. See
https://docs.docker.com/go/credential-store/

Login Succeeded
root@fnos:/vol1/1000/files/phpserver# docker push qs100371/phpserver
Using default tag: latest
The push refers to repository [docker.io/qs100371/phpserver]
9a3c849e049d: Pushed 
7ebe7b23d1f1: Pushed 
77ef80f8a151: Pushed 
c8e9db37afdd: Pushed 
c97ec010c81d: Pushed 
095a6559b5f8: Pushed 
b503d97da376: Mounted from library/php 
2369208c7351: Mounted from library/php 
4fce11b00861: Mounted from library/php 
dfcac7c9057e: Mounted from library/php 
978322943e04: Mounted from library/php 
768b981d8c93: Mounted from library/php 
5c19c2fd1131: Mounted from library/php 
c29580291b6c: Mounted from library/php 
0eb066b8b595: Mounted from library/php 
0fcbbeeeb0d7: Mounted from library/php 
latest: digest: sha256:182942952d055bd2f8150beb458a229c708b0cbb700b3a98f4277f8455034d6c size: 3660

在不同主机上生成的镜像tag都是latest,只显示最新的一个,之前的还在,不知道怎么改tag。

修改docker hub镜像tag

docker tag qs100371/phpserver:latest qs100371/phpserver:v1
docker push qs100371/phpserver:v1

服务器上已有此镜像,并不会实际上传,只修改了tag。

root@armbian:/data/php# docker tag a01d689762e1 qs100371/phpserver:v1
root@armbian:/data/php# docker push qs100371/phpserver:v1
The push refers to repository [docker.io/qs100371/phpserver]
7c2c9299fc3f: Layer already exists 
7ca457e7c1dd: Layer already exists 
4b74ddfda19e: Layer already exists 
2221087bbb25: Layer already exists 
70926ed51c84: Layer already exists 
f521dad3cd4e: Layer already exists 
4530fb17527f: Layer already exists 
b9bd58eed14a: Layer already exists 
fef9d3931c24: Layer already exists 
0a9193454ae1: Layer already exists 
ea2456e60fad: Layer already exists 
b71408fda661: Layer already exists 
cd3c8c08d739: Layer already exists 
2b313be3e8c7: Layer already exists 
ba1f1fddfa56: Layer already exists 
4d0185f84bef: Layer already exists 
v1: digest: sha256:54d9723a00f9b5110d4b8566495773f2368fa6fe621a61e9ee5e5eade6068c39 size: 3660
文章标签: docker

上一篇 : onedrive一直登录不上去怎么办?
下一篇 : 试用阿里云ecs
留言
阅读进度 0%