Docker之镜像仓库
1. 使用docker-registry仓库
1. 安装docker-registry
yum install docker-regitsry -y
2. 查看是否安装成功
rpm -ql docker-distribution
/etc/docker-distribution/registry/config.yml 主配置文件 /usr/bin/registry 主程序 /usr/lib/systemd/system/docker-distribution.service 启动服务 /usr/share/doc/docker-distribution-2.6.2 /usr/share/doc/docker-distribution-2.6.2/AUTHORS /usr/share/doc/docker-distribution-2.6.2/CONTRIBUTING.md /usr/share/doc/docker-distribution-2.6.2/LICENSE /usr/share/doc/docker-distribution-2.6.2/MAINTAINERS /usr/share/doc/docker-distribution-2.6.2/README.md /var/lib/registry 数据目录
3. 查看配置文件
version: 0.1
log:
  fields:
    service: registry
storage:
    cache:
        layerinfo: inmemory
    filesystem:
        rootdirectory: /var/lib/registry  需要修改
http:
    addr: :5000  端口
4. 启动服务
systemctl start docker-distribution.service
5. 上传下载镜像
第一步,下载一个镜像,docker pull busybox
第二步,修改下载的镜像的tag, docker tag busybox 172.16.252.216:5000/busybox
第三步,上传到私有库服务器上,docker push 172.16.252.216:5000/busybox
第四步,修改/etc/docker/daemon.json,{"insecure-registries": ["172.16.252.216:5000"]}
2. 使用harbor镜像仓库
1. 下载harbor离线安装包
到github上搜索harbor,下载指定版本的安装包
https://github.com/goharbor/harbor/releases
tar -xf harbor-offline-installer-v1.6.1.tgz
cd harbor/
vim harbor.cfg
        hostname = reg.slito.com \harbor的服务地址(ip或者域名)
        ui_url_protocol = http \选择http方式
              harbor_admin_password = 123456 \harbor web访问的密码
./prepare 加载配置
./install.sh 安装harbor
2. 安装docker(上面已有)
3. 安装docker-compose
        curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
        chmod +x /usr/local/bin/docker-compose
启动harbor服务,docker-compose up -d
4. 访问harbor
http://ip,输入admin和密码
        
5. 上传镜像到harbor仓库
[root@redis_server_194 harbor]# docker login 172.168.1.194 Username: admin Password: Error response from daemon: Get https://172.168.1.194/v2/: dial tcp 172.168.1.194:443: connect: connection refused
因为使用的是http,需要在docker宿主机上,添加仓库可信,重启docker服务。
{
  "registry-mirrors": ["https://registry.docker-cn.com"],
  "insecure-registries":["172.168.1.194"]
}
docker tag tomcat:v1 172.168.1.194/library/tomcat:v1
docker push 172.168.1.194/library/tomcat:v1
6. 查看一下镜像
        
7. 从harbor下载镜像
docker pull 172.168.1.194/library/tomcat:v1
8. 自签HTTPS证书
touch /etc/pki/CA/index.txt
echo "01" > /etc/pki/CA/serial
(umask 077;openssl genrsa -out /etc/pki/CA/private/cakey.pem)
openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -out /etc/pki/CA/cacert.pem
#cd /opt/harbor
#mkdir ssl
#cd ssl
#(umask 077;openssl genrsa -out 域名.key) \生成私钥
#openssl req -new -key reg.slito.com.key -out 域名.csr \ 生成证书请求
#cd /opt/harbor/ssl
#openssl ca -in 域名.csr -out 域名.crt -days 365
#cd /opt/harbor
#docker-compose down -v
#vim harbor.cfg
ui_url_protocol = https
ssl_cert = ./ssl/域名.crt
ssl_cert_key = ./ssl/cert/域名.key
secretkey_path = ./ssl/
#./prepare
#docker-compose down -v
           docker-compose up -d
           其他主机访问harbor,pull/push镜像设置
拷贝reg.slito.com.crt到需要访问harbor仓库的主机上(/etc/docker/certs.d/reg.slito.com/),目标主机不用配置信任就可以直接访问。
 
                    
                
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号