开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第9天,点击查看活动详情
思路
搭建一个本地私有docker容器仓库,本机或局域网内其他机器访问本地私有仓库,从而在大量部署的时候,可以非常快的拉取镜像
基础环境
- centos8
- ubuntu
前提条件:实现两台互相ping通,两台都必须安装docker。
我是在vmware当中虚拟出两台虚拟机,vmware中新建虚拟机,可以自行百度一下
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
创建宿主机存储目录,即放容器镜像的路径
mkdir -p /opt/data/registry
下载并启动一个registry容器,-v指定镜像文件本地存放路径
docker run -d -p 5000:5000 -v /opt/data/registry/:/var/lib/registry --name my_registry registry
配置ip
vim /etc/docker/daemon.json
{ "insecure-registries": ["192.168.181.129:5000"], "registry-mirrors": ["https://gxeo3yz7.mirror.aliyuncs.com"] }
重启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
查看是否成功
访问http://192.168.181.129:5000/v2/_catalog,我们可以看到当中已经有我们自己上传的nginx
ubuntu安装docker
安装docker
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
局域网内其它机器访问本地仓库
会报错
设置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
Ubuntu 下载镜像
从centos当中下载镜像
sudo docker pull 192.168.181.129:5000/nginx
查看镜像
sudo docker images
Ubuntu 上传镜像到私有仓库
sudo docker tag tomcat 192.168.181.129:5000/tomcat
sudo docker push 192.168.181.129:5000/tomcat
查看是否上传成功
至此,我们就实现了私有仓库的搭建,以及实现内部局域网共享