Docker Note(3): 建立私有仓库并上传仓库与容器卷


一、建立私有仓库

1.1.下载镜像Docker Registry

在这里插入图片描述

docker pull registry 

1.2.运行私有库Registry

在本地建立一个私有docker hub
例子如下:

docker run -d -p 5000:5000 -v /zzyyuse/myregistry/:/tmp/registry --privileged=true registry

-d 后台运行
-p 端口映射 宿主机:5000 容器内:5000

左边5000是主机端口,右边5000是容器示例端口

-v /宿主机绝对路径目录:/容器内目录 镜像名

--privileged=true

大约在0.6版,privileged被引入docker。
使用该参数,container内的root拥有真正的root权限。
否则,container内的root只是外部的一个普通用户权限。
privileged启动的容器,可以看到很多host上的设备,并且可以执行mount。
甚至允许你在docker容器中启动docker容器。

在这里插入图片描述

1.3.将改进镜像推送到私有仓库

例子:假设我们commit了一个改动过的镜像,如下为zzyyubuntu:1.2

在这里插入图片描述
将该镜像打包——tag指令

docker tag 镜像名:版本 [重命名]
docker tag zzyyubuntu:1.2 192.168.111.167:5000/zzyyubuntu:1.2

192.168.111.167:5000/zzyyubuntu:1.2是重命名,为了区分原先镜像
在这里插入图片描述

1.4.将改进镜像推送到私有仓库

1.4.1修改http推送限制

由于docker 的伺服库做了安全加固,默认不支持http推送,需要取消这个限制。
需要在用vim指令修改 /etc/docker/daemon.json

vim  /etc/docker/daemon.json

在这里插入图片描述
原先配置的阿里加速器还在,需要加入ip地址(自己电脑的Ip地址)
在这里插入图片描述

加入"insecure-registries":[“192.168.111.167:5000”],前后还有个逗号

在这里插入图片描述
保存退出
在这里插入图片描述
重启下

systemctl restart docker

1.4.2上传镜像

docker push 【需要上传的镜像名】

例:

docker push 192.168.111.167:5000/zzyyubuntu:1.2

二、容器卷

容器数据卷作用:
映射,容器内的数据备份+持久化到本地主机目录,可以比喻为电脑的移动硬盘挂载在电脑上
与cp功能类似,但是容器卷更强,能实时生效。
在主机的任何操作都会同步到容器,在容器内的操作同时也同步于主机

使用方式

docker run -it --privileged=true -v /宿主机绝对路径目录:/容器内目录  镜像名

在这里插入图片描述

docker inspect 镜像id

通过inspect查阅容器状态,将容器内各个版本,属性,以jason形式展示
在这里插入图片描述
在这里插入图片描述可以观察到将两个路径绑定在一块,内容的改变,两边都会实时变动。

若想设置容器内只读不可写,加个ro(read only)

docker run -it --privileged=true -v /宿主机绝对路径目录:/容器内目录:ro  镜像名

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值