docker的安装就只说CentOS 其他系统安装参考 链接
下面 搭建harbor仓库
1.安装docker-compose
Linux 上我们可以从 Github 上下载它的二进制包来使用,最新发行的版本地址:https://github.com/docker/compose/releases。
https://www.runoob.com/docker/docker-compose.html 菜鸟教程
方法一: (1.24版为例要其他的版本可以直接改) 推荐方法三
# sudo curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose # chmod +x /usr/local/bin/docker-compose
查看版本信息
# docker-compose --version
但是此方法会经常因为网络的原因而无法安装
方法二:
一条命令执行
yum install -y epel-release && yum install -y python-pip && pip install docker-compose && pip install --upgrade pip
1、安装python-pip
yum -y install epel-release yum -y install python-pip
2、安装docker-compose
pip install docker-compose
如果安装过程中提示
Could not find a version that satisfies the requirement requests<3,>=2.20.0 (from docker-compose) (from versions: ) No matching distribution found for requests<3,>=2.20.0 (from docker-compose) You are using pip version 8.1.2, however version 20.2 is available. You should consider upgrading via the 'pip install --upgrade pip' command.
就执行命令 更新pip版本
pip install --upgrade pip 更新后再安装 pip install docker-compose
待安装完成后,执行查询版本的命令
docker-compose version docker-compose -version
如果提示权限不够
chmod +x /usr/local/bin/docker-compose
如果提示
Cannot open self /usr/local/bin/docker-compose or archive /usr/local/bin/docker-compose.pkg
方法三:
可以直接下载docker-compose压缩文件,然后解压上传赋权 详细点击这里
查看内核版本 低的话需要升级
uname -r
如果是3.10需要升级
yum update
yum install -y ncurses-devel qt-devel make gcc bc bison flex openssl-devel grub2 hmaccalc zlib-devel binutils-devel elfutils-libelf-devel
从网上下linux内核下好了,上传到服务器,并解压到/usr/src/linux 文件夹下 也可以直接点这里下 linux内核linux-5.4.56.tar.xz
tar -xvf linux-5.4.56.tar.xz -C /usr/src/linux
cd /usr/src/linux/linux-5.4.56/
cp /boot/config-$(uname -r) ./.config
然后执行 自定义内核配置生成.config
make mrproper
也可以直接使用原来系统的内核配置
sh -c 'y "" | make oldconfig' #centos 7
make mrproper 后这里可以自定义内核特性,如果对内核不熟悉的话,直接使用tab键 选save 保存,然后退出即可。
nproc 查看cpu 核数
#一条
make -j 4 && make modules_install -j 4 && make install -j 4
#编译
make -j4
#安装内核模快
make modules_install
#安装内核
make install
#编译完继续执行:
grub2-set-default "CentOS Linux (5.4.56) 7 (Cores)"
grub2-editenv list
grub2-mkconfig -o /boot/grub2/grub.cfg
#重启
reboot
进入系统的时候选择新安装的内核
查看内核
uname -a
uname -r
安装Harbor
网上下载Harbor的压缩包 这里提供个较新的 点击下载harbor-offline-installer-v2.0.2.tgz
上传压缩包到linux的/usr/local,并解压
mkdir /usr/local 一般都有 不用创建
然后上传解压
tar -xzf harbor-offline-installer-v2.0.2.tgz
删除压缩包腾空间
rm -rf harbor-offline-installer-v2.0.2.tgz
修改Harbor的配置,没有的话复制harbor.yml.tmpl
vi harbor.yml
修改hostname和port
hostname: 192.168.137.58 #这是我的本地ip 记得改成自己的
port: 80
如果没有证书要把https的配置注释掉
https:
# https port for harbor, default is 443
port: 443
# The path of cert and key files for nginx
certificate: /usr/local/harbor/harbor/cert/192.168.137.58.crt #IP都改成自己的
private_key: /usr/local/harbor/harbor/cert/192.168.137.58.key #IP都改成自己的
external_url: https://192.168.137.58 #这也要改
data_volume: /data/harbor
接下来是最坑的地方 因为harbor默认用https访问 所以要配证书 最好是服务器自带的 下面是本地随便配的一个
harbor开启https
创建 ca 证书
mkdir -p /usr/local/harbor/harbor/cert cd /usr/local/harbor/harbor/cert
生成 CA 的 key
openssl genrsa -out ca.key 4096
生成 CA 的 crt IP记得改
openssl req -x509 -new -nodes -sha512 -days 3650 \ -subj "/C=CN/ST=Chengdou/L=Chengdou/O=chinatelecom/OU=ecloudcaas/CN=192.168.137.58" \ -key ca.key \ -out ca.crt
生成自己域名的 key IP记得改
openssl genrsa -out 192.168.137.58.key 4096
生成自己域名的 csr IP记得改
openssl req -sha512 -new \ -subj "/C=CN/ST=Chengdou/L=Chengdou/O=chinatelecom/OU=ecloudcaas/CN=192.168.137.58" \ -key 192.168.137.58.key \ -out 192.168.137.58.csr
生成一个 openssl 命令需要的外部配置文件 IP记得改
主要是subjectAltName,这里写的IP.1=yourip还可以写DNS.1=yourdomainname
cat > v3.ext <<-EOF
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
extendedKeyUsage = serverAuth
subjectAltName = @alt_names
[alt_names]
IP=192.168.137.58
EOF
#替换DNS条目以反映您的域 配了IP不用配DNS
[alt_names]
DNS.1=harbor.od.com
DNS.2=harbor.od.com
DNS.3=harbor.od.com
EOF
通过 ext 和 csr 生成 crt IP记得改
openssl x509 -req -sha512 -days 3650 \
-extfile v3.ext \
-CA ca.crt -CAkey ca.key -CAcreateserial \
-in 192.168.137.58.csr \
-out 192.168.137.58.crt
将服务端的 crt 转换成客户端用的 cert IP记得改
openssl x509 -inform PEM -in 192.168.137.58.crt -out 192.168.137.58.cert
将带域名的 cert,key 和 ca.crt 拷贝到 docker client 所在主机的 /etc/docker/certs.d/IP/ 目录下 IP记得改
mkdir -p /etc/docker/cert.d/192.168.137.58
cp /usr/local/harbor/harbor/cert/192.168.137.58.cert /etc/docker/cert.d/192.168.137.58/
cp /usr/local/harbor/harbor/cert/192.168.137.58.key /etc/docker/cert.d/192.168.137.58/
cp /usr/local/harbor/harbor/cert/ca.crt /etc/docker/cert.d/192.168.137.58/
安装Harbor 记得去你解压的目录
./prepare
./install.sh
当你看到Harbor has been installed and started successfully时,我要恭喜你安装成功了。
访问Harbor 后面需要改成自己的地方我就不说啦同上
http://192.168.137.58:80
默认账户密码:admin/Harbor12345
启动、停止Harbor
docker-compose up -d 启动
docker-compose stop 停止
docker-compose down 停止 //会重置网络连接 如果stop后再启动访问不了 可以用这个
docker-compose restart 重新启动
推送镜像验证
先需要将仓库添加到docker配置里面
$ vim /etc/docker/daemon.json
{
"registry-mirrors": ["https://v0b39vg3.mirror.aliyuncs.com"],
"insecure-registries": ["192.168.137.58:80"]
}
$ systemctl restart docker
登录
docker login -u admin -p Harbor123 192.168.137.58:443
进网页创建一个项目:test;
推送
下载官方的 centos 镜像
docker pull centos:centos7.8.2003 你可以选个小点的 我这是现成的 所以就用了这个
修改TAG
docker tag centos:centos7.8.2003 192.168.137.58/test/centos:7.8.2003
推送到仓库
docker push 192.168.137.58/test/centos:7.8.2003
镜像的拉取
假设是一台没有登录此 harbor 的 docker 客户端
创建 /etc/docker/daemon.json 文件
{
"registry-mirrors": ["https:mirror.ccs.tencentyun.com","https://kuamavit.mirror.aliyuncs.com", "https://registry.docker-cn.com", "https://docker.mirrors.ustc.edu.cn"],
"insecure-registries" : ["https://192.168.137.58"],
"max-concurrent-downloads": 10,
"log-driver": "json-file",
"log-level": "warn",
"log-opts": {
"max-size": "10m",
"max-file": "3"
}
}
重启Docker生效
systemctl daemon-reload
systemctl restart docker
拉取 harbor 中的镜像
docker login 192.168.137.58
docker pull 192.168.137.58/test/centos:7.8.2003
我本地测试是没问题了 到这就结束了 谢谢你能耐心看完 后面有问题的 记得看看IP是不是都改了