这几天在VirtualBox上安装了CentOs7 minimal学习。对着《Docker技术入门与实践》学习操作。菜鸟一枚,学习进度慢,今天光是搭建本地私有库就折腾了我一天。记录一下。有不足和错误的希望网友可以帮忙指正。
以下内容参考上面所提到的书籍以及网上的分享。
前提:Docker 1.7.1 CentOS7 minial
1.使用registry镜像创建私有库
执行以下命令,将自动下载一个registry镜像,然后在本地启动一个私有仓库服务,监听端口为5000.
# docker run -d -p 5000:5000 -v /opt/data/registry:/tmp/registry registry
docker run 后面跟着三个参数:-d 后台运行;-p 端口设置,5000:5000表示后续可通过http://localhost:5000进行访问;-v 指定镜像文件存放在本地的路径,书上说默认会将仓库创建在容器的/tmp/registry,但我没瞧见。
2.查找本机IP
输入以下命令,如图所示,有好几个选项,在我的机子里1和2两个ip都可以用。PS:ip是由三个点号分隔开的,/后面不算,即1框出的ip为"10.0.2.15"。
ip addr
看不懂?
再试一下这个mmcli d得到该机的网络设备状态
nmcli d
3.修改Docker daemon的启动参数并重新启动Docker服务
3.1打开文件
vim /etc/sysconfig/docker
我们要编辑的是
3.2开始编辑
在键盘按下先按下Esc,可以多按几次Esc没事,再按i,看到左下角出现如图所示圈出字样则可以开始编辑文本了,用方向键控制光标的移动
3.3把"other_args"后面的内容改为
DOCKER_OPTS="--insecure-registry 10.0.2.15:5000"
3.4退出文本编辑.
先按ESC,再输入“:wq!”即保存退出(PS. 不保存则输入q!)
3.5查看编辑结果
cat /etc/sysconfig/docker
重启docker服务
# service docker restart
4.管理私有仓库
4.1启动registry
由于刚刚重启了docker服务所以原来的在后台运行的容器停止运行了,因此需要开启私有仓库容器。
使用docker ps -a查询已有容器.黄色框住的就是之前基于registry镜像启动的容器ID
使用容器id进行激活,id只要输入前缀能够与其他容器进行区分即可,这里id为e20f。。。。只取e20.
# docker start e20
4.2查看已有的镜像
# docker images
4.3使用docker tag命令
# docker tag ubuntu:16.04 10.0.2.15:5000/test
4.4使用docker push 上传标记的镜像
# docker push 10.0.2.15:5000/test
4.5 从私有仓库下载镜像到本地
先使用docker rmi删除原有镜像
再执行
docker pull 10.0.2.15:5000/test