安装 Docker 环境之后, 可以开始下载和运行 Docker 镜像了, 比如要下载一个 nginx 服务器, 只要输入下面的命令:
docker pull nginx:alpine
就能下载到基于 alpine 的最新版本的 nginx 服务器镜像, 然后再输入:
docker run \
--detach \
--name nginx \
--volume $(pwd)/nginx/conf.d:/etc/nginx/conf.d:ro \
--volume $(pwd)/nginx/html:/usr/share/nginx/html \
--volume $(pwd)/nginx/log:/var/log/nginx \
--publish 80:80 \
--restart unless-stopped \
nginx:alpine
就可以开始运行 nginx 服务器了, 使用起来非常方便。
作为开发者, 自然会自己制作一些镜像, 在公司内网分发, 或者开发团队制作镜像, 然后交付给测试团队进行测试, 这就需要一个内部分发镜像的服务器, 这个 Docker 团队自然也想到了, 并且提供了一个镜像 retistry , 先把这个镜像拉倒本地:
docker pull registry:latest
等待下载完成之后, 运行这个镜像:
docker run \
--detach \
--name registry \
--hostname registry \
--volume $(pwd)/registry:/var/lib/registry/docker/registry \
--publish 5000:5000 \
--restart unless-stopped \
registry:latest
在地址栏输入 https://127.0.0.1:5000/v2/_catalog
, 将会看到类似下面的输出:
{"repositories":[]}
接下来我们尝试将上面的 nginx:alpine
上传到本地的 registry 服务器, 首先为这个镜像定义一个新的标签:
docker tag nginx:alpine 127.0.0.1:5000/nginx:alpine
然后确认存在这个标签
docker images
输出如下:
REPOSITORY TAG IMAGE ID CREATED SIZE
127.0.0.1:5000/nginx alpine 0ae090dba3ab 3 months ago 54.3 MB
nginx alpine 0ae090dba3ab 3 months ago 54.3 MB
现在可以上传这个镜像:
docker push 127.0.0.1:5000/nginx:alpine
输出如下
The push refers to a repository [127.0.0.1:5000/nginx]
4a8d9a67e458: Pushed
c0ab80890b7f: Pushed
d4930e247b49: Pushed
9f8566ee5135: Pushed
alpine: digest: sha256:bf63c02f35f7f8d0a95af4904d38ea17ef3f0c86e6b95d716200bdd9963f5ec5 size: 1154
现在来浏览 https://127.0.0.1:5000/v2/_catalog
, 将会看到这样的结果:
{"repositories":["nginx"]}
表示已经有了 nginx
这个镜像, 如果要看这个镜像有什么版本, 需要输入地址 https://127.0.0.1:5000/v2/nginx/tags/list
, 结果如下:
{"name":"nginx","tags":["alpine"]}
如果要在其它装了 docker 的电脑上获取这个镜像, 或者下载局域网其它 registry 服务器上的镜像, 有两个选择:
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有