#更新epel源
yum -y install epel-release
#安装依赖包
yum install -y yum-utils device-mapper-persistent-data lvm2
#添加 Docker yum源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
#安装docker-ce
yum -y install docker-ce
#启动docker
systemctl start docker
1、从官网直接下载二进制文件
#下载二进制文件
curl -L "https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname -s)-$(uname -m)" \
-o /usr/local/bin/docker-compose
#添加执行权限
chmod +x /usr/local/bin/docker-compose
#查看版本信息
docker-compose --version
2、采用python的包管理工具pip安装
#安装python-pip
yum install -y python-pip
#添加国内pip源
mkdir /root/.pip/
cat > /root/.pip/pip.config << END
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host=mirrors.aliyun.com
timeout = 150
END
#安装docker-compose
pip install docker-compose
#查看版本信息
docker-compose --version
Docker容器应用的开发和运行离不开可靠的镜像管理,虽然Docker官方也提供了公共的镜像仓库,但是从安全和效率等方面考虑,部署我们私有环境内的Registry
也是非常必要的。Harbor是由VMware公司开源的企业级的Docker Registry管理项目,它包括权限管理(RBAC)、LDAP、日志审核、管理界面、自我注册、
镜像复制和中文支持等功能。
1、下载二进制包
#github地址
https://github.com/goharbor/harbor
#二进制软件包下载,这里选择release在线版本
wget https://storage.googleapis.com/harbor-releases/release-1.7.0/harbor-online-installer-v1.7.4.tgz
2、修改harbor配置文件harbor.cfg
hostname = 192.168.49.131 #这里也可以写域名
# 访问协议,默认是http,也可以设置https,如果设置https,则nginx ssl需要设置on
ui_url_protocol = http
# mysql数据库root用户默认密码root123,实际使用时修改下
db_password = root123
# 启动Harbor后,管理员UI登录的密码,默认是Harbor12345
harbor_admin_password = Harbor12345
# 用户创建项目权限控制,默认是everyone(所有人),也可以设置为adminonly(只能管理员)
project_creation_restriction = adminonly
3、配置启动harbor
当前目录下执行./prepare,再执行./install.sh。
Harbor就回根据当前目录下的docker-compose.yml下载依赖的镜像
访问:http://192.168.49.131 用户名和密码:admin/Harbor12345
4、问题
docker login 192.168.49.131
Username: admin
Password:
Error response from daemon: Get https://192.168.49.131/v2/: dial tcp 192.168.49.131:443: connect: connection refused
这是因为docker1.3.2版本开始默认docker registry使用的是https,我们设置Harbor默认http方式,所以当执行用docker login、pull、push等命令操作非https的docker regsitry的时就会报错。
1、修改harbor配置文件harbor.cfg
hostname = 192.168.49.131
ui_url_protocol = https
ssl_cert = /data/cert/ca.crt
ssl_cert_key = /data/cert/ca.key
2、创建自签名证书key文件
mkdir -p /data/cert/
openssl genrsa -out /data/cert/ca.key 2048
3、创建自签名证书crt文件
注意命令中/CN=192.168.49.131字段中 192.168.49.131 修改为你自己的仓库域名。
openssl req -x509 -new -nodes -key /data/cert/ca.key -subj "/CN=192.168.49.131" -days 6000 -out /data/cert/ca.crt
4、开始安装Harbor
./install.sh
#出现以下内容正面配置成功
✔ ----Harbor has been installed and started successfully.----
Now you should be able to visit the admin portal at https://192.168.49.131.
For more details, please visit https://github.com/goharbor/harbor .
5、添加docker私有仓库配置,并重启docker
方式一:
#在harbor配置文件文件目录下执行,停止容器
docker-compose stop
#停止docker
systemctl stop docker
#增加私有仓库配置,这里把公有仓库地址改成了阿里云docker仓库地址
cat > /etc/docker/daemon.json << END
{"registry-mirrors": ["http://kfwkfulq.mirror.aliyuncs.com"],"insecure-registries":["https://192.168.49.131"]}
END
#启动docker
systemctl start docker
#在harbor配置文件文件目录下执行,启动容器
docker-compose up -d
方式二:
#在harbor配置文件文件目录下执行,停止容器
docker-compose stop
#停止docker
systemctl stop docker
#修改docker的启动文件,增加私有仓库配置
vim /usr/lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock --insecure-registries=https://192.168.49.131
#启动docker
systemctl daemon-reload
systemctl start docker
#在harbor配置文件文件目录下执行,启动容器
docker-compose up -d
6、登陆
docker login 192.168.49.131
Username: admin
Password:
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store
Login Succeeded
步骤:
#镜像打标签
docker tag 镜像名:标签 私服地址/仓库项目名/镜像名:标签
#推送到私服
docker push 私服地址/仓库项目名/镜像名:标签
#从私服拉取镜像
docker pull 私服地址/仓库项目名/镜像名:标签
------------------------------
#示例
docker pull busybox
docker tag busybox:latest 192.168.49.131/library/busybox:latest
docker push 192.168.49.131/library/busybox:latest
docker pull 192.168.49.131/library/busybox:latest
8、图形化界面(客户端)访问
由于证书是我们自己生产的,所以需要我们提前将 /data/cert/ca.crt 文件上传到windows服务器(客户端),双击安装即可。