镜像仓库 Docker Hub
公共镜像
docker 官方提供的公共镜像
需要去Docker官方注册一个账号
私有镜像(内部)
- Docker官方提供私有仓库解决方案 docker-registry
- WMWare公司 Harbor
特性
1.基于角色的访问控制
2.镜像的复制
3.LDAP/AD
4.镜像的删除和垃圾收集
5.国际化/本地化
6.图形化的用户界面
7.审计管理
架构
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的安装包
tar -zxf harbor-offline-installer-v2.1.4.tgz
进入目录 然后将harbor.yml.tmp复制一份并该命为harbor.yml
cd harbor
cp harbor.yml.tmpl harbor.yml
注意: 这里跟老版本不一样,没有了harbor.cfg文件,我们需要手动复制harbor.yml.tmpl在做修改即可
修改harbor.yml
harbor作为私有仓库作用在公司内网,一般都是信任关系,没多大必要做https,使用http即可!
所以 把https相关的已经注释掉
并注意配置文件的用户名密码配置,默认是 用户名是:admin,密码是:Harbor12345,如果修改需要安装前修改
执行安装命令
先执行预处理命令,会创建一些文件夹,初始化一些文件
./prepare
然后开始真正的安装过程
./install.sh
最后设置成开机自启动
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
帐号密码是仓库的用户名和密码
使用
docker tag SOURCE_IMAGES[:TAG] 192.168.110.239/library/IMAGE[:TAG]
docker push 192.168.110.239/library/IMAGE[:TAGE]
推到仓库
从仓库中拉取