docker 连接私有仓库

docker 连接私有仓库,并向私有仓库推送镜像

一、检查是否已经配置私有仓库

docker info

# 输出如下
Containers: 0
 Running: 0
 Paused: 0
 Stopped: 0
Images: 0
Server Version: 18.09.6
Storage Driver: overlay2
 Backing Filesystem: xfs
 Supports d_type: true
 Native Overlay Diff: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: bridge host macvlan null overlay
 Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: bb71b10fd8f58240ca47fbb579b9d1028eea7c84
runc version: 2b18fe1d885ee5083ef9f0838fee39b62d653e30
init version: fec3683
Security Options:
 seccomp
  Profile: default
Kernel Version: 3.10.0-862.14.4.el7.x86_64
Operating System: CentOS Linux 7 (Core)
OSType: linux
Architecture: x86_64
CPUs: 4
Total Memory: 31.24GiB
Name: gxjsyjzx001
ID: SVUW:JJ64:IOHE:2NM3:L7E7:ZO5Z:2E4O:OQUO:XW7O:IZII:HWCW:GCNW
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
Labels:
Experimental: false

# 检查此项
Insecure Registries:
 127.0.0.0/8
Registry Mirrors:
 https://pak31uuv.mirror.aliyuncs.com/
 https://registry.docker-cn.com/
Live Restore Enabled: false
Product License: Community Engine
  • Insecure Registries:表示私有仓库地址,本次案例配置的私有仓库地址为 192.168.80.135

二、配置私有仓库

2.1 编辑配置文件(不存在则新建)

vim /etc/docker/daemon.json

# 添加配置
"insecure-registries": [
    "192.168.80.135"
]

2.2 配置完成的内容

{
    "registry-mirrors": [
        "https://pak31uuv.mirror.aliyuncs.com",
        "https://registry.docker-cn.com"
    ],
    "insecure-registries": [
        "10.1.119.12"
    ]
}
  • registry-mirrors : 配置镜像加速服务(本次案例是使用的tanxingsong的阿里云镜像加速服务,读者在配置的时候,可以自行去阿里云申请免费镜像加速服务,如果嫌麻烦,也可以先用着笔者的镜像加速)
  • insecure-registries : 配置远程仓库

2.3 重启docker

systemctl restart docker

2.4 检查是否配置成功

docker info

# 输出如下
Containers: 0
 Running: 0
 Paused: 0
 Stopped: 0
Images: 0
Server Version: 18.09.6
Storage Driver: overlay2
 Backing Filesystem: xfs
 Supports d_type: true
 Native Overlay Diff: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: bridge host macvlan null overlay
 Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: bb71b10fd8f58240ca47fbb579b9d1028eea7c84
runc version: 2b18fe1d885ee5083ef9f0838fee39b62d653e30
init version: fec3683
Security Options:
 seccomp
  Profile: default
Kernel Version: 3.10.0-862.14.4.el7.x86_64
Operating System: CentOS Linux 7 (Core)
OSType: linux
Architecture: x86_64
CPUs: 4
Total Memory: 31.24GiB
Name: gxjsyjzx001
ID: SVUW:JJ64:IOHE:2NM3:L7E7:ZO5Z:2E4O:OQUO:XW7O:IZII:HWCW:GCNW
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
Labels:
Experimental: false

# 如果存在 192.168.80.135 ,则说明配置成功
Insecure Registries:
192.168.80.135
 127.0.0.0/8
Registry Mirrors:
 https://pak31uuv.mirror.aliyuncs.com/
 https://registry.docker-cn.com/
Live Restore Enabled: false
Product License: Community Engine

三、将镜像推送至私有仓库

3.1 登录私有仓库

docker login 192.168.80.135 -u admin -p Harbor12345

# 输出如下
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
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
  • 出现 Login Succeeded 则说明登录成功

3.2 重命名镜像(我们自己的工程推送,项目为basic,即,镜像名应为:192.168.80.135/basic/openjdk:8)

  • 测试镜像:openjdk:8
docker tag openjdk:8 192.168.80.135/basic/openjdk:8
  • 命名规则:私有仓库ip/仓库分类/镜像名:版本

3.3 将镜像推送至私有仓库

docker push 192.168.80.135/basic/openjdk:8

# 输出如下
The push refers to repository [10.1.119.12/basic/openjdk]
2ee490fbc316: Layer already exists 
b18043518924: Layer already exists 
9a11244a7e74: Layer already exists 
5f3a5adb8e97: Layer already exists 
73bfa217d66f: Layer already exists 
91ecdd7165d3: Layer already exists 
e4b20fcc48f4: Layer already exists 
8: digest: sha256:1aa55a21176b17bc276dc1b545872cb1590edf632c179fc3297e5e48447d1b24 size: 1795
  • 由于以前推送过类似镜像,所以报已存在

3.4 检查镜像

  • 访问 harbor镜像仓库进行访问
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
要创建一个私有Docker 镜像仓库,你可以使用 Docker Registry。Docker Registry 是一个开源的镜像存储和分发的服务器端应用程序,可以用于存储和管理 Docker 镜像。以下是创建私有 Docker Registry 的步骤: 1. 安装 Docker Registry:首先,你需要在服务器上安装 Docker Registry。你可以通过运行以下命令来获取官方的 Docker Registry 镜像: ``` docker pull registry ``` 2. 启动 Docker Registry:运行以下命令来启动 Docker Registry 容器: ``` docker run -d -p 5000:5000 --restart=always --name registry registry ``` 这将在本地的 5000 端口上启动 Docker Registry。 3. 配置 Docker 客户端:要使用私有Docker Registry,你需要配置 Docker 客户端来允许连接私有 Registry。编辑 Docker 配置文件 `/etc/docker/daemon.json`(Linux)或 `%USERPROFILE%\.docker\config.json`(Windows),并添加以下内容: ``` { "insecure-registries": ["your-private-registry-domain:5000"] } ``` 将 `your-private-registry-domain` 替换为你的私有 Registry 的域名或 IP 地址。 4. 重启 Docker 服务:重启 Docker 服务以使配置更改生效。 ``` sudo systemctl restart docker # Linux ``` 5. 推送和拉取镜像:现在,你可以使用 `docker push` 命令将本地的镜像推送到私有 Registry,或使用 `docker pull` 命令从私有 Registry 拉取镜像。 ``` docker push your-private-registry-domain:5000/your-image:tag docker pull your-private-registry-domain:5000/your-image:tag ``` 将 `your-image` 替换为你的镜像名称,`tag` 替换为你的标签。 这样,你就可以创建和使用私有Docker 镜像仓库了。请记住,私有 Registry 的访问权限需要进行适当的配置和管理,以确保只有授权的用户可以访问

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值