返回文章列表
Docker私有仓库
DevOps
【前言】
在本地熟练使用docker后,
下一步就是将本地的docker image推送到远程,方便在其他地方拉取使用
【常见命令】
上一节中讲了docker的常见命令,
详见: https://blog.insistime.com/docker-cmds
# pull
docker pull image-name
# images
docker images
docker rmi image-id
docker build -t image-name:tag .
# container
docker run -d -p host-port:container-port image-name
docker ps -a
docker rm -f container-id
docker logs container-id
docker exec -it container-id /bin/bash
# container run cpu memory
docker run -d -p host-port:container-port --cpus="2" --memory="200m" --restart="always" --name="container-name" image-name
docker inspect --format='{{.HostConfig.NanoCpus}}' <container_id_or_name>
docker inspect --format='{{.HostConfig.Memory}}' <container_id_or_name>
【官方docker hub】
docker官方提供了仓库也就是docker hub,
优点:
1. 官方仓库
2. 国内外pull和push速度都还行
缺点:
1. 对应网站被墙
2.只有一个private名额,后续需要收费
相关命令
# 登录,账号需要在上面的网站注册
docker login
# 退出登录
docker logout
# build,dockerhub默认使用用户名做命名空间
dokcer build -t username/image-name:0.0.1 .
# push
docker push username/image-name:0.0.1
# pull
docker pull username/image-name:0.0.1
【阿里云docker hub】
使用上面官方docker hub最主要的问题是私有库只有一个额度,
再多就要收费,国内免费私有库看了腾讯云和阿里云,
发现腾讯云个人版置灰无法选择,
阿里云个人版可以使用,下面介绍下阿里云个人版使用方法,
创建hub实例
在阿里云容器镜像服务的实例列表,选择个人版,按引导创建一个实例,
地址: https://cr.console.aliyun.com/cn-beijing/instances

创建命名空间
这里的命名空间类似docker hub官方的用户名,
地址: https://cr.console.aliyun.com/cn-beijing/instance/namespaces

设置访问密码
设置一个login的固定密码
地址: https://cr.console.aliyun.com/cn-beijing/instance/credentials

相关命令
# 登录,这里注意,如果官网的docker已经登录了,需要退出
docker login --username=your-username registry.cn-beijing.aliyuncs.com
# 退出登录
docker logout registry.cn-beijing.aliyuncs.com
# build,这里和dockerhub不同的是多了域名前缀和命名空间前缀,下面的push,pull类似
docker build -t registry.cn-beijing.aliyuncs.com/your-namespace/image-name .
# push
docker push registry.cn-beijing.aliyuncs.com/your-namespace/image-name
# pull
docker pull registry.cn-beijing.aliyuncs.com/your-namespace/image-name
管理镜像
通过上面的操作就可以将本地的镜像推送到自己私有的仓库了,
也可以在网页端管理,例如删除无用的仓库或版本,
地址: https://cr.console.aliyun.com/cn-beijing/instance/repositories
