在Docker Hub注册一个账号
docker login
登录,输入用户名和密码
[root@iZwz9f1ba8y91wed647jhlZ ~]# docker login
Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one.
Username: aaoyuu
Password:
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store
Login Succeeded
docker info
查看是否登录成功
[root@iZwz9f1ba8y91wed647jhlZ ~]# docker info | grep 'Username'
Username: aaoyuu
mkdir code
新建一个code文件夹,cd code
,vim
创建Dockerfile文件
[root@iZwz9f1ba8y91wed647jhlZ code]# vim Dockerfile
文件内容:
FROM php:7.4.7-cli-alpine3.12
RUN apk update \ #apk update 更新
&& apk add --no-cache gmp-dev \ #apk add 从仓库中安装软件包
&& docker-php-ext-install -j$(nproc) gmp #安装gmp扩展,可以通过docker-php-ext-install --help查看可以安装的扩展
点击esc,输入 :wq 保存文件
cat
查看文件内容
[root@iZwz9f1ba8y91wed647jhlZ code]# cat Dockerfile
FROM php:7.4.7-cli-alpine3.12
RUN apk update \
&& apk add --no-cache gmp-dev \
&& docker-php-ext-install -j$(nproc) gmp
docker build
构建镜像
-t
设置镜像名称和标签,格式:docker hub账户名/镜像名:标签,不写标签默认为latest.
代表当前目录
[root@iZwz9f1ba8y91wed647jhlZ code]# docker build -t aaoyuu/php7-test .
Sending build context to Docker daemon 2.048kB
Step 1/2 : FROM php:7.4.7-cli-alpine3.12
---> 1994700c4cce
Step 2/2 : RUN apk update && apk add --no-cache gmp-dev && docker-php-ext-install -j$(nproc) gmp
---> Running in ece4f1fd917a
fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/community/x86_64/APKINDEX.tar.gz
v3.12.9-14-gc92ea703eb [http://dl-cdn.alpinelinux.org/alpine/v3.12/main]
v3.12.9-4-gb52bda3a59 [http://dl-cdn.alpinelinux.org/alpine/v3.12/community]
OK: 12774 distinct packages available
fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/community/x86_64/APKINDEX.tar.gz
(1/6) Installing gmp (6.2.0-r0)
(2/6) Installing libgcc (9.3.0-r2)
(3/6) Installing libstdc++ (9.3.0-r2)
(4/6) Installing libgmpxx (6.2.0-r0)
(5/6) Installing pkgconf (1.7.2-r0)
(6/6) Installing gmp-dev (6.2.0-r0)
Executing busybox-1.31.1-r16.trigger
OK: 16 MiB in 37 packages
fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/community/x86_64/APKINDEX.tar.gz
(1/23) Upgrading musl (1.1.24-r8 -> 1.1.24-r10)
(2/23) Installing m4 (1.4.18-r1)
(3/23) Installing libbz2 (1.0.8-r1)
(4/23) Installing perl (5.30.3-r0)
... ...
docker images
查看本地镜像
[root@iZwz9f1ba8y91wed647jhlZ ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
aaoyuu/php7-test latest 46efafe4bfd7 6 seconds ago 87.7MB
docker push
将镜像上传到镜像仓库
[root@iZwz9f1ba8y91wed647jhlZ ~]# docker push aaoyuu/php7-test
Using default tag: latest
The push refers to repository [docker.io/aaoyuu/php7-test]
0717c9266ba3: Pushed
f5df8708c080: Mounted from aaoyuu/php7_cl
436fef8a4a02: Mounted from aaoyuu/php7_cl
5afb09eebb67: Mounted from aaoyuu/php7_cl
25a0a4a4c0be: Mounted from aaoyuu/php7_cl
3d3e9d9983dd: Mounted from aaoyuu/php7_cl
81c338ff74a3: Mounted from aaoyuu/php7_cl
308ef7bef157: Mounted from aaoyuu/php7_cl
d94df04fea90: Mounted from aaoyuu/php7_cl
50644c29ef5a: Mounted from aaoyuu/php7_cl
latest: digest: sha256:ca4a1cd496aebb3c74ac82e228fea3480a63f0c64559ba5f6e206866d8984d9e size: 2413
在docker hub就能看到aaoyuu/php7-test这个镜像了
删除一个tag
删除仓库的镜像
docker system prune
对空间进行自动清理
- 已停止的容器
- 未被任何容器使用的卷
- 未被任何容器所关联的网络
- 所有悬空的镜像
-a
: 一并清除所有未被使用的镜像和悬空镜像。-f
: 用以强制删除,不提示信息。
[root@iZwz9f1ba8y91wed647jhlZ ~]# docker system prune -a -f