centos7.2定制属于自己的docker私有库


解决http协议的问题:

方法一:解决HTTPS问题

安装nginx,配置HTTPS协议

方法二:修改docker的配置文件

vim /etc/default/docker增加

OPTIONS="--insecure-registry192.168.10.249:5000"


准备配置环境:

主机名 主机IP 服务
docker-images 10.0.0.5 docker 私有库库配置
10.0.0.6 docker 客户端
[root@docker-images~]#cat/etc/redhat-release
CentOSLinuxrelease7.2.1511(Core)
[root@docker-images~]#uname-r
3.10.0-327.el7.x86_64
[root@docker-images~]#uname-m
x86_64
[root@docker-images~]#uname-a
Linuxdocker-images3.10.0-327.el7.x86_64#1SMPThuNov1922:10:57UTC2015x86_64x86_64x86_64GNU/Linux
[root@docker-images~]#

开始配置(镜像库)

1、关闭防火墙和selinux

[root@docker-images~]#systemctlstopfirewalld
[root@docker-images~]#systemctldisablefirewalld#永久
[root@docker-images~]#setenforce0
[root@docker-images~]#getenforce
Permissive
[root@docker-images~]#

2、安装docker

yuminstalldocker
[root@docker-images~]#systemctlenabledocker#加入开机自启动
[root@docker-images~]#systemctlstartdocker#开启服务

3、下载本地私有库registry

[root@docker-images~]#dockerpullregistry#默认下载最新版
[root@docker-images~]#dockerimages#查看下载的镜像
REPOSITORYTAGIMAGEIDCREATEDSIZE
docker.io/registrylatest047218491f8c10daysago33.17MB
[root@docker-images~]#

4、基于私有仓库镜像运行容器

[root@docker-images~]#dockerrun-d-p5000:5000-v/opt/data/registry:/tmp/registrydocker.io/registry
#默认仓库创建在/tmp/registry,用-v参数指定仓库存放位置
1e8b1a03013ee66034b40aee1820000a2ccf026a3b1e43606f3e4007b2a9d455
[root@docker-images~]#
[root@docker-images~]#dockerps#查看运行容器
CONTAINERIDIMAGECOMMANDCREATEDSTATUSPORTSNAMES
1e8b1a03013edocker.io/registry"/entrypoint.sh/etc/"35secondsagoUp32seconds0.0.0.0:5000->5000/tcpgoofy_mcnulty
[root@docker-images~]#

5、访问私有仓库

[root@docker-images~]#curl127.0.0.1:5000/v2
<ahref="/v2/">MovedPermanently</a>.
[root@docker-images~]#
#说明registry部署成功

6、为基础镜像打标签

[root@docker-images~]#dockersearchdocker.io/fedora/ssh|grepdocker.io/fedora/ssh
docker.iodocker.io/fedora/ssh20[OK]
[root@docker-images~]#dockerpulldocker.io/fedora/ssh#下载镜像
[root@docker-images~]#dockerimages
REPOSITORYTAGIMAGEIDCREATEDSIZE
docker.io/registrylatest047218491f8c10daysago33.17MB
docker.io/fedora/sshlatestad6a3ff296264weeksago396.7MB
[root@docker-images~]#dockertagdocker.io/fedora/ssh127.0.0.1:5000/ssh#打标签
[root@docker-images~]#dockerimages
REPOSITORYTAGIMAGEIDCREATEDSIZE
docker.io/registrylatest047218491f8c10daysago33.17MB
127.0.0.1:5000/sshlatestad6a3ff296264weeksago396.7MB
docker.io/fedora/sshlatestad6a3ff296264weeksago396.7MB
[root@docker-images~]#
[root@docker-images~]#vim/etc/sysconfig/docker
OPTIONS="--selinux-enabled--insecure-registry10.0.0.5:5000"#定制私有仓库URL
[root@docker-images~]#systemctlrestartdocker

7、提交镜像到本地私有库

[root@docker-images~]#dockerstart1e8#开启本地库
1e8
[root@docker-images~]#dockerps
CONTAINERIDIMAGECOMMANDCREATEDSTATUSPORTSNAMES
1e8b1a03013edocker.io/registry"/entrypoint.sh/etc/"4hoursagoUp3seconds0.0.0.0:5000->5000/tcpgoofy_mcnulty
[root@docker-images~]#
[root@docker-images~]#dockerpush127.0.0.1:5000/ssh#上传打好标签的库
Thepushreferstoarepository[127.0.0.1:5000/ssh]
482d621bda33:Pushed
510f15c27a8b:Pushed
e4f86288aaf7:Pushed
latest:digest:sha256:5ad5aec14bb7aa63fdcea1772db6ab5b5de99b0a023d234e61f5aa8c9435e8ffsize:948
[root@docker-images~]#

8、查看已经上传好的镜像

[root@docker-images~]#curl10.0.0.5:5000/v2/_catalog
{"repositories":["ssh"]}
[root@docker-images~]#

浏览器中查看已经上传的镜像

http://10.0.0.5:5000/v2/_catalog

spacer.gif

wKioL1jJFdSDmVDYAAAUQual9v4507.png-wh_50

9、测试库是否可用,在准备好环境的另一台测试机上面下载上传的镜像

[root@centos7~]#vim/etc/sysconfig/docker#加入私有仓库地址
OPTIONS="--selinux-enabled--insecure-registry10.0.0.5:5000"
[root@centos7~]#systemctlrestartdocker
[root@centos7~]#dockerpull10.0.0.5:5000/ssh

spacer.gif

wKiom1jJFdLDUl-3AACNy94e_Ok417.jpg-wh_50

可以看到已经可以下载镜像,证明私有仓库创建成功

[root@centos7~]#dockerimages
REPOSITORYTAGIMAGEIDCREATEDSIZE
10.0.0.5:5000/sshlatestad6a3ff296264weeksago396.7MB
[root@centos7~]#

接下来通过自己的私有库运行一个centos7容器

1、从其他的数据库上save一个centos镜像推送到私有库服务器上

[root@docker-images~]#ls
anaconda-ks.cfgcentos.tar
[root@docker-images~]#dockerload<centos.tar#将镜像导入docker
34e7b85d83e4:Loadinglayer[==================================================>]199.9MB/199.9MB
Loadedimage:docker.io/centos:latest]557.1kB/199.9MB
[root@docker-images~]#dockerimages
REPOSITORYTAGIMAGEIDCREATEDSIZE
docker.io/registrylatest047218491f8c10daysago33.17MB
127.0.0.1:5000/sshlatestad6a3ff296264weeksago396.7MB
docker.io/fedora/sshlatestad6a3ff296264weeksago396.7MB
docker.io/centoslatest67591570dd2912weeksago191.8MB
[root@docker-images~]#

2、再次打上自己的标签

[root@docker-images~]#dockertagdocker.io/centos:latest10.0.0.5:5000/lcentos
#为了区别前面的,我将centos做了其他标记
[root@docker-images~]#dockerimages
REPOSITORYTAGIMAGEIDCREATEDSIZE
docker.io/registrylatest047218491f8c10daysago33.17MB
127.0.0.1:5000/sshlatestad6a3ff296264weeksago396.7MB
docker.io/fedora/sshlatestad6a3ff296264weeksago396.7MB
docker.io/centoslatest67591570dd2912weeksago191.8MB
10.0.0.5:5000/lcentoslatest67591570dd2912weeksago191.8MB
[root@docker-images~]#

3、上传标记好的镜像到自己的私有库

[root@docker-images~]#dockerpush10.0.0.5:5000/lcentos

spacer.gif

wKioL1jJFdWyRn3uAAAVS7YL4vw332.png-wh_50

4、查看上传好的镜像

[root@docker-images~]#curlhttp://10.0.0.5:5000/v2/_catalog
{"repositories":["lcentos","ssh"]}
[root@docker-images~]#

浏览器查看

spacer.gif

wKiom1jJFdWzQ9KKAAAVEZDA56Q889.png-wh_50

5、再次到准备好环境的那台测试机上面pull

[root@centos7~]#dockerpull10.0.0.5:5000/lcentos
[root@centos7~]#dockerimages
REPOSITORYTAGIMAGEIDCREATEDSIZE
10.0.0.5:5000/sshlatestad6a3ff296264weeksago396.7MB
10.0.0.5:5000/lcentoslatest67591570dd2912weeksago191.8MB
[root@centos7~]#

6、创建并运行一个容器

[root@centos7~]#dockerrun-d-it--privileged=false-p80:80--nameabccentos10.0.0.5:5000/lcentos/bin/bash
15b9f42b3d63846085664139bff0c041f614bc2b717787686d23785d98b37160
[root@centos7~]#dockerps-a
CONTAINERIDIMAGECOMMANDCREATEDSTATUSPORTSNAMES
15b9f42b3d6310.0.0.5:5000/lcentos"/bin/bash"16secondsagoUp13seconds0.0.0.0:80->80/tcpabccentos
[root@centos7~]#

7、进入容器查看,可以看到centos的版本等信息

[root@centos7~]#dockerattach15b9f42b3d63
[root@15b9f42b3d63/]#cat/etc/redhat-release
CentOSLinuxrelease7.3.1611(Core)
[root@15b9f42b3d63/]#uname-r
3.10.0-327.el7.x86_64
[root@15b9f42b3d63/]#uname-a
Linux15b9f42b3d633.10.0-327.el7.x86_64#1SMPThuNov1922:10:57UTC2015x86_64x86_64x86_64GNU/Linux
[root@15b9f42b3d63/]#

8、还可以在此操作系统中安装部署nginx。

[root@15b9f42b3d63yum.repos.d]#yum-yinstallwget#安装wget,方便安装epel源
[root@15b9f42b3d63yum.repos.d]#mvCentOS-Base.repoCentOS-Base.repo.bak
[root@15b9f42b3d63yum.repos.d]#wget-O/etc/yum.repos.d/CentOS-Base.repo
[root@15b9f42b3d63yum.repos.d]#wget-O/etc/yum.repos.d/epel.repohttp://mirrors.aliyun.com/repo/epel-7.repo
[root@15b9f42b3d63yum.repos.d]#yumcleanall
[root@15b9f42b3d63yum.repos.d]#yummakecache
[root@15b9f42b3d63yum.repos.d]#yum-yinstallnginx
[root@15b9f42b3d63yum.repos.d]#rpm-qa|grepnginx
nginx-filesystem-1.10.2-1.el7.noarch
nginx-mod-http-xslt-filter-1.10.2-1.el7.x86_64
nginx-mod-mail-1.10.2-1.el7.x86_64
nginx-mod-stream-1.10.2-1.el7.x86_64
nginx-mod-http-perl-1.10.2-1.el7.x86_64
nginx-mod-http-geoip-1.10.2-1.el7.x86_64
nginx-mod-http-image-filter-1.10.2-1.el7.x86_64
nginx-1.10.2-1.el7.x86_64
nginx-all-modules-1.10.2-1.el7.noarch
[root@15b9f42b3d63yum.repos.d]#

9、查看服务

[root@15b9f42b3d63yum.repos.d]#nginx#开启服务
[root@15b9f42b3d63yum.repos.d]#ps-ef|grepnginx
root1431020:48?00:00:00nginx:masterprocessnginx
nginx144143020:48?00:00:00nginx:workerprocess
nginx145143020:48?00:00:00nginx:workerprocess
nginx146143020:48?00:00:00nginx:workerprocess
nginx147143020:48?00:00:00nginx:workerprocess
root1531020:49?00:00:00grep--color=autonginx

10、查看端口

[root@15b9f42b3d63/]#netstat-lntup|grepnginx
tcp000.0.0.0:800.0.0.0:*LISTEN20/nginx:masterpr
tcp600:::80:::*LISTEN20/nginx:masterpr
[root@15b9f42b3d63/]#

11、浏览器访问

wKioL1jLXaPhyhblAACRzsWPDKk159.png-wh_50


以上就是整个创建私有镜像库的过程,欢迎一起交流学习。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


linux下开机自启: 在/etc/init.d目录下新建文件elasticsearch 并敲入shell脚本: 注意, 前两行必须填写,且要注释掉。 第一行为shell前行代码,目的告诉系统使用shell。 第二行分别代表运行级别、启动优先权、关闭优先权,且后面添加开机服务会用到。 shell脚本
1、因为在centos7中/etc/rc.d/rc.local的权限被降低了,所以需要赋予其可执行权 chmod +x /etc/rc.d/rc.local 2、赋予脚本可执行权限假设/usr/local/script/autostart.sh是你的脚本路径,给予执行权限 chmod +x /usr
最简单的查看方法可以使用ls -ll、ls-lh命令进行查看,当使用ls -ll,会显示成字节大小,而ls- lh会以KB、MB等为单位进行显示,这样比较直观一些。 通过命令du -h –max-depth=1 *,可以查看当前目录下各文件、文件夹的大小,这个比较实用。 查询当前目录总大小可以使用d
ASP.NET Core应用程序发布linux在shell中运行是正常的。可一但shell关闭网站也就关闭了,所以要配置守护进程, 用的是Supervisor,本文主要记录配置的过程和过程遇到的问题 安装Supervisor&#160;1 yum install python-setuptools
设置时区(CentOS 7) 先执行命令timedatectl status|grep &#39;Time zone&#39;查看当前时区,如果不是时区(Asia/Shanghai),则需要先设置为中国时区,否则时区不同会存在时差。 #已经是Asia/Shanghai,则无需设置 [root@xia
vim&#160;/etc/sysconfig/network-scripts/ifcfg-eth0 BOOTPROTO=&quot;static&quot; ONBOOT=yes IPADDR=192.168.8.106 NETMASK=255.255.252.0 GATEWAY=192.168.
一、安装gcc依赖 由于 redis 是用 C 语言开发,安装之前必先确认是否安装 gcc 环境(gcc -v),如果没有安装,执行以下命令进行安装 [root@localhost local]# yum install -y gcc 二、下载并解压安装包 [root@localhost local
第一步 On CentOS/RHEL 6.*: $ sudo rpm -Uvh http://li.nux.ro/download/nux/dextop/el6/x86_64/nux-dextop-release-0-2.el6.nux.noarch.rpm On CentOS/RHEL 7: $
/// &lt;summary&gt; /// 取小写文件名后缀 /// &lt;/summary&gt; /// &lt;param name=&quot;name&quot;&gt;文件名&lt;/param&gt; /// &lt;returns&gt;返回小写后缀,不带“.”&lt;/ret
which nohup .bash_profile中并source加载 如果没有就安装吧 yum provides */nohup nohup npm run start &amp; nohup ./kibana &amp;
1.1 MySQL安装 1.1.1 下载wget命令 yum -y install wget 1.1.2 在线下载mysql安装包 wget https://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm 1.1.3 安装My
重启 reboot shutdown -r now init 6 关闭 init 0 shutdown -h now shutdown -h 20:25 #8点25关机查看内存 free CPU利用率 top 日期 date 设置时间 date 033017002015 #月日时间年 日历 cal
1、firewalld的基本使用 启动: systemctl start firewalld 关闭: systemctl stop firewalld 查看状态: systemctl status firewalld 开机禁用 : systemctl disable firewalld 开机启用 :
1 下载并安装MySQL官方的&#160;Yum Repository wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm 使用上面的命令就直接下载了安装用的Yum Repository,大概
CentOS6.x CentOS6中转用Upstrat代替以前的init.d/rcX.d的线性启动方式。 一、相关命令 通过initctl help可以查看相关命令 [root@localhost ~]# initctl help Job commands: start Start job. sto
1、使用命令:df -lk 找到已满磁盘 2、使用命令:du --max-depth=1 -h 查找大文件,删除
ifconfig:查看网卡信息 网卡配置文件位置: /etc/sysconfig/network-scripts/文件夹 nmtui:配置网卡 netstat -tlunp:查看端口信息 端口信息存储位置: /etc/services文件 route:查看路由信息 wget:下载网路文件,例如 wg
ps -ef:查看所有进程,&#160;ps -ef |grap firewalld 查看与firewalld相关的进程 which :查看进程:which firewalld kill 进程id:杀掉进程 kill 640,强制杀:kill -9 640 man:查看帮助,例如 man ps 查看
useradd:添加用户 useradd abc,默认添加一个abc组 vipw:查看系统中用户 groupadd:添加组groupadd ccna vigr:查看系统中的组 gpasswd:将用户abc添加到ccna组 gpasswd -a abc ccna groups abc:查看用户abc属