Centos7.6 Docker私服搭建-docker registry
传统架构演进 从单体到微服务Docker常用命令K8s集群搭建(Harbor)私服仓库(手把手教你搭建Docker Registry私服基于SSL证书改造RegistryDocker搭建私服(本地镜像库)+实战案例(全面易懂,步骤详尽))1 Docker私服仓库搭建1.1基于容器方式搭建vmware虚拟机使用共享目录Linux环境安装、卸载Docker安...
手把手教你搭建Docker Registry私服基于SSL证书改造Registry
Docker搭建私服(本地镜像库)+实战案例(全面易懂,步骤详尽)
)
1 Docker私服仓库搭建
1.1基于容器方式搭建
安装完后有个hello-world的镜像在里面,用于后面的测试
修改配置让docker客户端支持http
# vi /etc/docker/daemon.json
{
"registry-mirrors": ["https://njrds9qc.mirror.aliyuncs.com"],
"insecure-registries":["172.17.0.2:5000"]
}
重启docker
# systemctl daemon-reload
# systemctl restart docker
启动docker:
【# systemctl start docker
停止docker:
# systemctl stop docker
重启docker:
# systemctl restart docker
查看docker状态:
# systemctl status docker
开机启动:
# systemctl enable docker
Docker新版本配置:
修改/usr/lib/systemd/system/docker.service
在
ExecStart=
末尾增加
--insecure-registry 172.17.0.2:5000
然后重启docker
查看docker概要信息
# docker info】
拉取镜像:
# docker pull registry
执行镜像,跑启私有仓库:
# docker run -d -v /mnt/hgfs/docker-data/registry:/var/lib/registry -p 5000:5000 --restart=always --privileged=true --name private_registry registry:latest
我的Docker客户端IP:172.17.0.1;
我的Docker私有仓库服务器IP:172.17.0.2
如何获取 docker 容器(container)的 ip 地址
打标签:
# docker tag hello-world 172.17.0.2:5000/hello-world:latest
将新的hello-world镜像上传到私有仓库:
# docker push 172.17.0.2:5000/hello-world:latest
或者在私有仓库192.168.1.161查看上传的镜像
# ls /mnt/hgfs/docker-data/registry/docker/registry/v2/repositories
或者在客户端执行以下命令查看--列出所有镜像
# curl http://172.17.0.2:5000/v2/_catalog
1.2基于宿主机方式搭建仓库
【Centos7.6略过如下安装方式:
(1)、首先检查linux有没有安装python-pip包,直接执行 yum install python-pip
(2)、没有python-pip包就执行命令 yum -y install epel-release
安装下面插件:
yum install -y python-devel;
yum install -y libevent-devel;
(3)、执行成功之后,再次执行yum install python-pip
(4)、对安装好的pip进行升级 pip install --upgrade pip
(5)、安装python3
yum -y groupinstall "Development tools"
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
安装Python相关的模块
安装必要工具 yum-utils ,它的功能是管理repository及扩展包的工具 (主要是针对repository)
# sudo yum install yum-utils
使用yum-builddep为Python3构建环境,安装缺失的软件依赖,使用下面的命令会自动处理.
# sudo yum-builddep python
# mkdir /usr/local/python3
curl -O https://www.python.org/ftp/python/3.7.4/Python-3.7.4.tgz
tar -zxf Python-3.7.4.tgz
cd Python-3.7.4
./configure --prefix=/usr/local/python3
make && make install
最后创建软链接
ln -s /usr/local/python3/bin/python3 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
CentOS系统中成功安装了python3、pip3、setuptools,查看python版本
python3 -V
安装docker-registry(两种方式:一种直接通过安装,一种基于源码安装docker-registry)
】
yum -y install docker-registry
停止之前启动的docker registry容器
/etc/docker/daemon.json增加"127.0.0.1:5000"
[root@centos76 bin]# vi /etc/docker-distribution/registry/config.yml
version: 0.1
log:
fields:
service: registry
storage:
cache:
layerinfo: inmemory
filesystem:
rootdirectory: /mnt/hgfs/docker-data/registry
http:
addr: :5000
保存退出,启动服务
systemctl start docker-distribution
ss -tnl
创建好私有仓库之后,就可以使用 docker tag
来标记一个镜像,然后推送它到仓库。
docker pull busybox:latest
docker tag busybox 127.0.0.1:5000/busybox:latest
docker push 127.0.0.1:5000/busybox
查看镜像仓库:
curl http://127.0.0.1:5000/v2/_catalog
{"repositories":["busybox","hello-world"]}
查看共享目录:
查询hello-world镜像的标签列表:
curl http://127.0.0.1:5000/v2/hello-world/tags/list
{"name":"hello-world","tags":["latest"]}
docker rmi 127.0.0.1:5000/hello-world
docker pull 127.0.0.1:5000/hello-world
之前使用172.17.0.2,现在使用127.0.0.1
至此,已经完成容器安装和宿主机安装两种方式安装docker registry并共用镜像仓库以及http方式push和pull测试
更多推荐
所有评论(0)