很多docker hub上拉下来的镜像,通过修改配置文件等操作,定制成了适合自己的镜像,以后用自己的镜像就可以,因此需要上传到docker hub,以后可以像代码一样管理维护自己的docker镜像。
注册docker hub帐号
用github帐号登录比较省事,进入之后,到设置里,重置密码,github关联的邮箱会收到一个邮件,点击里面的reset password,设定新密码(github帐号登录,不知道原密码)。
上传镜像
- 建立镜像
docker build -t qs100371/phpserver
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44root@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 - docker hub帐号登录
docker login -u qs100371
1
2
3
4
5
6
7
8
9
10
11
12
13root@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 - 上传镜像
docker push qs100371/phpserver
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20root@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
1 | docker tag qs100371/phpserver:latest qs100371/phpserver:v1 |
服务器上已有此镜像,并不会实际上传,只修改了tag。
1 | root@armbian:/data/php# docker tag a01d689762e1 qs100371/phpserver:v1 |