Docker搭建私有仓库,实现局域网共享

633 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第9天,点击查看活动详情

思路

搭建一个本地私有docker容器仓库,本机或局域网内其他机器访问本地私有仓库,从而在大量部署的时候,可以非常快的拉取镜像

基础环境

  1. centos8
  2. ubuntu

前提条件:实现两台互相ping通,两台都必须安装docker。

我是在vmware当中虚拟出两台虚拟机,vmware中新建虚拟机,可以自行百度一下

image.png

centos8 安装docker

yum remove docker \
>                   docker-client \
>                   docker-client-latest \
>                   docker-common \
>                   docker-latest \
>                   docker-latest-logrotate \
>                   docker-logrotate \
>                   docker-engine


yum install -y yum-utils device-mapper-persistent-data lvm2

curl https://download.docker.com/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker-ce.repo
安装docker-ce
yum install docker-ce -y --allowerasing
启动docker
service docker start
docker pull tomcat

image.png

image.png

创建宿主机存储目录,即放容器镜像的路径

mkdir -p /opt/data/registry

下载并启动一个registry容器,-v指定镜像文件本地存放路径

docker run -d -p 5000:5000 -v /opt/data/registry/:/var/lib/registry --name my_registry registry

image.png

配置ip

vim /etc/docker/daemon.json
{ "insecure-registries": ["192.168.181.129:5000"], "registry-mirrors": ["https://gxeo3yz7.mirror.aliyuncs.com"] }

image.png

重启docker服务,重启registry服务

systemctl  daemon-reload 
systemctl restart docker
docker restart my_registry
my_registry

现在,测试上传和下载镜像到本地仓库

使用docker tag命令将镜像标记为192.168.92.134:5000/nginx
docker tag nginx 192.168.181.129:5000/nginx
推送到本地仓库
docker push 192.168.181.129:5000/nginx

image.png

查看是否成功

访问http://192.168.181.129:5000/v2/_catalog,我们可以看到当中已经有我们自己上传的nginx

image.png

ubuntu安装docker

安装docker
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

image.png

局域网内其它机器访问本地仓库

会报错

image.png

设置ubuntu

注意目录`/etc/docker`可以看图片中
sudo   vi  daemon.json
添加如下内容
{ "insecure-registries": ["192.168.181.129:5000"], "registry-mirrors": ["https://gxeo3yz7.mirror.aliyuncs.com"] }
重启
systemctl daemon-reload
sudo systemctl restart docker

image.png

Ubuntu 下载镜像

从centos当中下载镜像
sudo docker pull 192.168.181.129:5000/nginx
查看镜像
sudo docker images

image.png

Ubuntu 上传镜像到私有仓库

sudo  docker tag tomcat 192.168.181.129:5000/tomcat
sudo docker push 192.168.181.129:5000/tomcat

image.png

查看是否上传成功

image.png

至此,我们就实现了私有仓库的搭建,以及实现内部局域网共享