0.环境基础:
主机:centos
环境:防火墙及selinux已关闭
1.docker环境的安装
A.首先配置一下Docker的阿里yum源
cat>/etc/yum.repos.d/docker.repo<<EOF
[docker-ce-edge]
name=Docker CE Edge - \$basearch
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/7/\$basearch/edge
enabled=1
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg
EOF
B.然后yum方式安装docker
yum -y install docker-ce
# 查看docker版本
docker --version
# 启动docker
systemctl enable docker
systemctl start docker
C.配置docker的镜像源
cat>>/etc/docker/daemon.json<<EOF
{ "registry-mirrors": ["https://b9pmyelo.mirror.aliyuncs.com"],"data-root": "/app/data/docker"}
EOF
其中的参数介绍:
data-root:修改数据存储目录
registry-mirrors:容器下载源
D.然后重启docker
systemctl restart docker
E.如果需要卸载docker-ce,操作如下:
yum remove docker-ce
卸载后images,containers,volumes,configuration files 是不能自动删除的,为了删除all images,containers,and volumes,请执行如下命令:
rm -rf /app/data/docker ----->对应上面data-root目录的为止
2 docker-compose环境的安装:
参考安装方法: https://www.jianshu.com/p/e38b7ed2df8c
eg:版本可以自行指定 ,此处使用的版本是1.29.2
docker-compose的版本3.harbor的安装
harbor的安装可以在线安装也可以离线安装,此处使用的是离线安装
A.下载地址:
wget https://github.com/goharbor/harbor/releases/download/v2.8.2/harbor-offline-installer-v2.8.2.tgz
B.解压:
tar xf harbor-offline-installer-v2.8.2.tgz
C.修改配置文件:
hostname: 192.168.37.10
http:
port: 80
https:
#port: 443
#certificate: /your/certificate/path
#private_key: /your/private/key/path
harbor_admin_password: Harbor12345
database:
password: root123
max_idle_conns: 100
max_open_conns: 900
conn_max_lifetime: 5m
conn_max_idle_time: 0
data_volume: /app/data/harbor
trivy:
ignore_unfixed: false
skip_update: false
offline_scan: false
security_check: vuln
insecure: false
jobservice:
max_job_workers: 10
logger_sweeper_duration: 1 #days
notification:
webhook_job_max_retry: 3
webhook_job_http_client_timeout: 3 #seconds
log:
level: info
local:
rotate_count: 50
rotate_size: 200M
location: /app/data/harbor/log
_version: 2.8.0
proxy:
http_proxy:
https_proxy:
no_proxy:
components:
- core
- jobservice
- trivy
upload_purging:
enabled: true
age: 168h
interval: 24h
dryrun: false
cache:
enabled: false
expire_hours: 24
D.启动harbor:/app/data/harbor/install
安装成功Harbor服务就会根据当期目录下的docker-compose.yml开始下载依赖的镜像,检测并按照顺序依次启动各个服务
容器详情此处nginx只监听了80端口
E.登录harbor界面(使用默认的账号admin和默认密码):
登录页面4.开启443端口认证
A.创建证书目录: mkdir /app/data/harbor/cert
B. 生成CA私钥和证书---------->此处生成ca.crt和ca.key
openssl req -newkey rsa:4096 -nodes -sha256 -keyout ca.key -x509 -days 365 -out ca.crt
eg:subject=/C=CN/ST=Beijing/L=Beijing/O=educloud/OU=oneedu/CN=192.168.37.10/emailAddress=educloud@139.com
C.生成服务器证书:----------->此处生成192.168.37.10.key和192.168.37.10.csr
openssl req -newkey rsa:4096 -nodes -sha256 -keyout 192.168.37.10.key -out 192.168.37.10.csr
subject=/C=CN/ST=Beijing/L=Beijing/O=educloud/OU=oneedu/CN=192.168.37.10/emailAddress=educloud@139.com
此处密码跳过
D.手动颁发证书
echo subjectAltName = IP:192.168.37.10 > extfile.cnf
openssl x509 -req -days 36500 -in 192.168.37.10.csr -CA ca.crt -CAkey ca.key -CAcreateserial -extfile extfile.cnf -out 192.168.37.10.crt
C.修改配置:
port: 443
certificate: /app/data/harbor/certs/192.168.37.10.crt
private_key: /app/data/harbor/certs/ 192.168.37.10.key
D.重现加载配置信息:
/app/data/harbor/prepare
E.重启harbor
关闭:docker-compose down -v
开启:docker-compose up -d
docker-compose容器https登录页面:
https登录页面4.如需重新部署,需要移除 Harbor 服务容器全部数据,持久数据,如镜像,数据库等在宿主机的/app/data/harbor目录下,
1 日志在宿主机的/app/data/Harbor/log目录下
2 rm -rf /app/data/harbor/database/
3 rm -rf /app/data/harbor/registry/
此处应该单独为harbor的数据存放一个目录
相关报错:
报错1:
当时安装的时候只是使用了http,没有使用https!需要将harbor.yml中443端口和证书地址注释掉就可以了!
报错2:
报错2解决方法:
在/etc/docker/daemon.json 中添加"insecure-registries":["192.168.37.10"]
网友评论