镜像仓库

  • 镜像仓库 Docker Hub
  • 公共镜像
  • 私有镜像(内部)
  • Docker搭建
  • Docker-compose
  • Harbor
  • docker客户端访问


镜像仓库 Docker Hub

公共镜像

docker 官方提供的公共镜像
需要去Docker官方注册一个账号

harbor获取image id 获取harbor上镜像列表_linux

私有镜像(内部)

  • Docker官方提供私有仓库解决方案 docker-registry
  • WMWare公司 Harbor
    特性
    1.基于角色的访问控制
    2.镜像的复制
    3.LDAP/AD
    4.镜像的删除和垃圾收集
    5.国际化/本地化
    6.图形化的用户界面
    7.审计管理

架构

harbor获取image id 获取harbor上镜像列表_Harbor_02

Docker搭建

环境 CentOS7.6x64 1810

yum update
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum install -y docker-ce
systemctl start docker
systemctl enable docker

配置docker镜像阿里云加速

yum install -y lrzsz #让你的windows中直接拖拽文件到虚拟机或服务器上

Docker-compose

  • github-科学上网
  • 下载好Docker-compose的离线安装包

二进制文件安装
https://github.com/docker/compose/releases/ 地址查找最新的docker-compose版本

下载最新版的docker-compose文件

sudo curl -L "https://github.com/docker/compose/releases/download/1.26.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

添加可执行权限

sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version

或者
pip安装
安装python-pip

yum -y install epel-release
yum -y install python-pip

安装docker-compose

pip install docker-compose

测试安装结果

docker-compose --version

Harbor

下载安装包
Harbor官方地址:https://github.com/goharbor/harbor/releases 下载最新版安装包

harbor获取image id 获取harbor上镜像列表_docker_03


解压安装包

解压harbor的安装包

tar -zxf harbor-offline-installer-v2.1.4.tgz

进入目录 然后将harbor.yml.tmp复制一份并该命为harbor.yml

cd harbor
cp harbor.yml.tmpl harbor.yml

harbor获取image id 获取harbor上镜像列表_harbor获取image id_04


注意: 这里跟老版本不一样,没有了harbor.cfg文件,我们需要手动复制harbor.yml.tmpl在做修改即可修改harbor.yml

harbor作为私有仓库作用在公司内网,一般都是信任关系,没多大必要做https,使用http即可!

所以 把https相关的已经注释掉

harbor获取image id 获取harbor上镜像列表_容器_05


并注意配置文件的用户名密码配置,默认是 用户名是:admin,密码是:Harbor12345,如果修改需要安装前修改

harbor获取image id 获取harbor上镜像列表_容器_06


执行安装命令

先执行预处理命令,会创建一些文件夹,初始化一些文件

./prepare

然后开始真正的安装过程

./install.sh

harbor获取image id 获取harbor上镜像列表_harbor获取image id_07


最后设置成开机自启动

systemctl start harbor
systemctl enable harbor
vim /lib/systemd/system/harbor.service
[Unit]
Description=Harbor
After=docker.service systemd-networkd.service systemd-resolved.service
Requires=docker.service
Documentation=http://github.com/vmware/harbor

[Service]
Type=simple
Restart=on-failure
RestartSec=5
ExecStart=/usr/local/bin/docker-compose -f  /usr/local/harbor/docker-compose.yml up
ExecStop=/usr/local/bin/docker-compose -f /usr/local/harbor/docker-compose.yml down

[Install]
WantedBy=multi-user.target

docker客户端访问

vim /etc/docker/daemon.json

把harbor地址配置到docker中

{
 "registry-mirrors":["https://c05xby84.mirror.aliyuncs.com"],
 "insecure-registries":["192.168.110.239"]
}
systemctl daemon-reload
systemctl restart docker
docker login 192.168.110.239  # 仓库的ip

帐号密码是仓库的用户名和密码

harbor获取image id 获取harbor上镜像列表_Harbor_08


使用

harbor获取image id 获取harbor上镜像列表_容器_09

docker tag SOURCE_IMAGES[:TAG]  192.168.110.239/library/IMAGE[:TAG]
docker push 192.168.110.239/library/IMAGE[:TAGE]

推到仓库

harbor获取image id 获取harbor上镜像列表_harbor获取image id_10


从仓库中拉取

harbor获取image id 获取harbor上镜像列表_Harbor_11