1.发布到阿里云
前往 容器镜像服务 (aliyun.com) 进入容器镜像服务
1.创建命名空间
2.创建镜像仓库
3.进入仓库管理页面获得脚本
# 需要输入密码,终端输出 Login Succeeded 则为登录成功
docker login --username=用户名 registry.cn-hangzhou.aliyuncs.com
# 标记
docker tag [镜像ID] registry.cn-hangzhou.aliyuncs.com/命名空间/仓库名称:[镜像版本号]
# 推送到仓库
docker push registry.cn-hangzhou.aliyuncs.com/命名空间/仓库名称:[镜像版本号]
# 拉取上传的镜像到本地 [验证]
docker pull registry.cn-hangzhou.aliyuncs.com/命名空间/仓库名称:[镜像版本号]
docker push registry.cn-hangzhou.aliyuncs.com/qianhui/redis:1.0
2.发布到私服库
Docker Hub 官网
1.下载私服库
下载私有库
registry
,相当于本地有一个私有的Docker hub
docker pull registry
2.运行私服库
#运行镜像--restart=always表示重启docker后仍旧运行该镜像不会被退出
docker run -d -p 5000:5000 --restart=always --name [自定义本地仓库名称,默认为registry] registry
# 默认使用 docker run -d -p 5000:5000 --restart=always --name registry registry
3.curl验证私服库上有哪些镜像
# 查看所有镜像,不包含版本号
curl -XGET http://ip地址:5000/v2/_catalog
# 查看指定镜像,包含版本号
curl -XGET http://ip地址:5000/v2/镜像名称/tags/list
# 新私有库会显示 {"repositories":[]}
4.创建镜像
准备好镜像的请跳过
# 获取容器ID,运行 docker ps 查看容器ID
docker ps
docker commit -m="提交的描述信息" -a="作者" 容器ID 要创建的目标镜像名:[标签名]
4.更改镜像的TAG标签
docker tag 镜像名称:版本号 ip地址:5000/镜像名称:新版本号
5.修改配置文件使支持http
docker
默认不允许http
方式推送镜像,通过配置选项来取消限制修改之后不生效的话请重启
docker
vim /etc/docker/daemon.json
# 添加 "insecure-registries":["本机ip地址:5000"]
# 逗号不要忘记
{
"registry-mirrors": ["https://自己的阿里云加速地址.mirror.aliyuncs.com"],
"insecure-registries":["本机ip地址:5000"]
}
# 重启
systemctl restart docker
# 若私服库未重新启动则重新启动私服库 [看上面步骤2]
docker run -d -p 5000:5000 --restart=always --name registry registry
6.push推送镜像到私服库
docker push [本机ip地址]:5000/镜像名称:版本号
docker push 192.168.199.110:5000/ubuntu:1.0
7.curl验证私服库上有哪些镜像
# 查看所有镜像,不包含版本号
curl -XGET http://ip地址:5000/v2/_catalog
# 查看指定镜像,包含版本号
curl -XGET http://ip地址:5000/v2/镜像名称/tags/list
8.pull到本地并运行
docker pull [本机ip地址]:5000/镜像名称:版本号