经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » Docker » 查看文章
Docker搭建自己的本地镜像仓库的步骤
来源:jb51  时间:2019/3/8 8:39:01  对本文有异议

一、环境以及准备工作

  • 1.ubuntu14.04
  • 2.docker环境

二、搭建过程

1.更换镜像源(因为默认的太慢了,国内的更快)

  1. sudo vim /etc/default/docker
  2. 输入以下参数:
  3. DOCKER_OPTS="--registry-mirror=http://hub-mirror.c.163.com" //网易的,也可以使用daoClouds的

如果是刚安装的ubuntu环境的话,执行以下命令(当然也能用vi,或者直接写入)

  1. sudo apt-get update //更新apt-get源,防止下载出错
  2. sudo apt-get install vim -y //下载vim

2.启动docker并拉取registry镜像源

  1. sudo service docker start //启动docker
  2. sudo docker pull registry //下载registry镜像

3.下载好后查看是否下载成功

  1. sudo docker images

4.下载后以后启动该容器,可以将容器内的数据映射挂载在自己指定的目录上,这里以/opt/data/registry为宿主机存储的目录

  1. mkdir -p /opt/data/registry //创建目录
  2. sudo docker run -d -p 5000:5000 -v /opt/data/registry:/var/lib/registry
  3. --name private_registry registry //启动容器
  4. -d : 让容器可以后台运行
  5. -p :指定映射端口(前者是宿主机的端口号,后者是容器的端口号)
  6. -v :数据挂载(前者是宿主机的目录,后者是容器的目录)
  7. --name : 为运行的容器命名

然后查看是否成功启动该容器

  1. sudo docker ps

5.查看宿主机的ip地址

ifconfig

6.更改docker的配置文件,添加自己的私库地址,docker启动时会加载/etc/init/docker.conf,看完该配置文件,发现其会加载/etc/default/docker文件,因此只需要将私库地址写入/etc/default/docker中即可

  1. sudo vim /etc/default/docker
  2. DOCKER_OPTS更改成如下:
  3. DOCKER_OPTS="--registry-mirror=http://hub-mirror.c.163.com --insecure-registry 192.168.147.129:5000"
  4. **5000端口一定得加,宿主机默认是访问80端口,不想加的话可以在启动容器的时候以宿主机的80端口
  5. 映射容器的5000端口

修改以后重启容器并开启registry服务

  1. sudo service docker restart //重启容器
  2. sudo docker start private_registry //重启registry服务

以上五个步骤就搭建好了一个私库了.

三、测试

1.拉取一个镜像并打tag(以busybox为例,因为busybox比较小)

  1. sudo docker pull busybox:latest //拉取镜像
  2. sudo docker tag busybox:latest 192.168.147.129:5000/busybox

2.提交tag镜像到自己的本地镜像仓库

  1. sudo docker push 192.168.147.129:5000/busybox

3.删除所有的关于busybox镜像并查看

  1. sudo docker rmi busybox 192.168.147.129:5000/busybox //删除busybox镜像
  2. sudo docker images //查看是否还有busybox镜像的信息

4.从本地镜像仓库pull busybox镜像并查看

  1. sudo docker pull 192.168.147.129:5000/busybox
  2. sudo docker images //查看192.168.147.129:5000/busybox镜像的信息

以上表示拉取成功了

四、反思与改进

1.以上本地仓库只要在同一个网络中就能访问

2.如何去更加方便的管理本地仓库,这个值得去思考

3.以上方式并没做身份验证,如何做身份验证也值得思考

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对w3xue的支持。如果你想了解更多相关内容请查看下面相关链接

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号