天天看点

docker学习三 镜像制作发布与加速地址配置

作者:闪大章

阿里云个人加速地址

https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors           

配置镜像加速

针对Docker客户端版本大于 1.10.0 的用户

可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://vvnjr2qb.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker           

其他加速源

  • DockerProxy:https://dockerproxy.com;
  • 网易源:https://hub-mirror.c.163.com;
  • 百度源:https://mirror.baidubce.com;
  • 腾讯源:https://ccr.ccs.tencentyun.com
# 编辑 Docker 配置文件
$ sudo vim /etc/docker/daemon.json
# 加入以下配置项
{
    "registry-mirrors": [
        "https://dockerproxy.com",
        "https://hub-mirror.c.163.com",
        "https://mirror.baidubce.com",
        "https://ccr.ccs.tencentyun.com"
    ]
}

           

镜像制作与发布

1、commit自己的镜像(docker commit命令操作)

docker commit提交容器副本使之成为一个新的镜像

docker commit -m="提交的描述信息" -a="作者" 容器ID 要创建的目标镜像名:[标签名]

#例:
docker commit -m="添加vm" -a="作者" 7711bdd8b2dc szz/ubuntu:1.0           

2、发布到私有仓库(我这里用的是阿里云)

步骤:登录阿里云-->容器镜像服务-->创建命名空间-->创建镜像仓库
# 第一次需要登录你的私库
$ docker login --username=yourname registry.cn-hangzhou.aliyuncs.com
# 打tag
$ docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/shandz/redis:[镜像版本号]
# push 推送到仓库
$ docker push registry.cn-hangzhou.aliyuncs.com/shandz/redis:[镜像版本号]

#从仓库拉取镜像
$ docker pull registry.cn-hangzhou.aliyuncs.com/shandz/redis:[镜像版本号]           

发布到私有服务器

步骤一 :下载镜像Docker Registry
docker pull registry            
步骤二:运行私有库Registry,相当于本地有个私有Docker hub
 docker run -d -p 5000:5000  -v /szz/myregistry/:/tmp/registry --privileged=true registry
默认情况,仓库被创建在容器的/var/lib/registry目录下,建议自行用容器卷映射,方便于宿主机联调           
验证私服库上有什么镜像(可通过curl命令)
 curl -XGET http://ip:port/v2/_catalog           
步骤三:将新镜像修改符合私服规范的Tag
#按照公式: docker   tag   镜像:Tag   Host:Port/Repository:Tag
docker tag 01372165b802 yourAddress:5000/myubuntu:1.1           
步骤四:修改配置文件使之支持http
vim /etc/docker/daemon.json
# "insecure-registries": ["yourAddress:5000"]
#docker默认不允许http方式推送镜像,通过配置选项来取消这个限制。====> 修改完后如果不生效,建议重启docker
{
     "registry-mirrors": ["https://vvnjr2qb.mirror.aliyuncs.com"],
     "insecure-registries": ["yourAddress:5000"]
}           
步骤五:推送到私服库(push)
docker push yourAddress:5000/myubuntu:1.1