容器系列-04 DockerHarbor镜像仓库与应用案例
192.168.127.68
必须要安装 docker engine,docker compose,openssl
要用端口 443,4443,8880
下载地址:
https://goharbor.io/
https://github.com/goharbor/harbor/releases
harbor-offline-installer-v1.10.11.tgz 585M
192.168.127.67/68
cd /data/
tar xzvf soft/harbor-offline-installer-v1.10.11.tgz
cd harbor
vim harbor.yml
--------
hostname: 192.168.127.68
http:
port: 8880
harbor_admin_password: admin
password: root123
data_volume: /data
https related config
-----------
[root@fgedudata02 harbor]# ./prepare
运行 install.sh 即可(可带参数--with-notary 启用镜像签名,--with-clair启用漏洞扫描)
流程:检查环境 -> 导入镜像 -> 准备环境 -> 准备配置(含移除旧版本)-> 开始启动
./install.sh
登录 web:http://192.168.127.68:8880
cat > /usr/lib/systemd/system/harbor.service << EOF
[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=/data/docker/bin/docker-compose -f /data/harbor/docker-compose.yml up
ExecStop=/data/docker/bin/docker-compose -f /data/harbor/docker-compose.yml down
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
sudo systemctl start harbor
sudo systemctl enable harbor
sudo systemctl status harbor
sudo systemctl stop harbor
docker ps -a
--Harbor使用
cp /etc/docker/daemon.json /etc/docker/daemon.json.ali
增加:"insecure-registries": ["192.168.127.68:8880"]
vim /etc/docker/daemon.json
{
"registry-mirrors": ["https://yrrmmhwn.mirror.aliyuncs.com"],"insecure-registries":["192.168.127.68:8880"],
}
systemctl daemon-reload
systemctl restart docker
192.168.127.68:
docker pull nginx:latest
docker pull busybox:1.28.3
[root@fgedu-ha01 harbor]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest 605c77e624dd 5 months ago 141MB
busybox 1.28.3 8ac48589692a 4 years ago 1.15MB
docker tag nginx:latest 192.168.127.68:8880/fgedu/nginx:latest
docker tag busybox:1.28.3 192.168.127.68:8880/fgedu/busybox:1.28.3
[root@fgedudata02 ~]# docker login 192.168.127.68:8880
Username: fgedu
Password:
docker push 192.168.127.68:8880/fgedu/nginx:latest
docker push 192.168.127.68:8880/fgedu/busybox:1.28.3
http://192.168.127.67:8880/harbor/projects
增加:"insecure-registries": ["192.168.127.68:8880"]
vim /etc/docker/daemon.json
{
"registry-mirrors": ["https://yrrmmhwn.mirror.aliyuncs.com"],"insecure-registries":
["192.168.127.68:8880"]
}
重新加载 daemon,重启 docker:
systemctl daemon-reload
systemctl restart docker
[root@fgedu-ha02 harbor]# docker login 192.168.127.68:8880
Username: fgedu
Password: Fgedu_123
docker pull 192.168.127.68:8880/fgedu/nginx:latest
docker images
192.168.127.68:
#centos
docker pull centos:7.9.2009
docker tag centos:7.9.2009 192.168.127.68:8880/fgedu/centos:7.9.2009
docker push 192.168.127.68:8880/fgedu/centos:7.9.2009
#apache
docker pull httpd:2.4.54
docker tag httpd:2.4.54 192.168.127.68:8880/fgedu/httpd:2.4.54
docker push 192.168.127.68:8880/fgedu/httpd:2.4.54
#nginx
docker pull nginx:latest
docker tag nginx:latest 192.168.127.68:8880/fgedu/nginx:latest
docker push 192.168.127.68:8880/fgedu/nginx:latest
#tomcat
docker pull tomcat:10.0.0-jdk8
docker tag tomcat:10.0.0-jdk8 192.168.127.68:8880/fgedu/tomcat:10.0.0-jdk8
docker push 192.168.127.68:8880/fgedu/tomcat:10.0.0-jdk8
#mysql
docker pull mysql:5.7.21
docker tag mysql:5.7.21 192.168.127.68:8880/fgedu/mysql:5.7.21
docker push 192.168.127.68:8880/fgedu/mysql:5.7.21
#lamp:https://hub.docker.com/r/mattrayner/lamp
docker pull mattrayner/lamp:latest-1804
docker tag mattrayner/lamp:latest-1804 192.168.127.68:8880/fgedu/lamp:latest-1804
docker push 192.168.127.68:8880/fgedu/lamp:latest-1804
#ElasticSearch
docker pull elasticsearch:8.3.1
docker tag elasticsearch:8.3.1 192.168.127.68:8880/fgedu/elasticsearch:8.3.1
docker push 192.168.127.68:8880/fgedu/elasticsearch:8.3.1
#PostgreSQL
docker pull postgres:12.11
docker tag postgres:12.11 192.168.127.68:8880/fgedu/postgres:12.11
docker push 192.168.127.68:8880/fgedu/postgres:12.11
#MongoDB
docker pull mongo:4.4.15
docker tag mongo:4.4.15 192.168.127.68:8880/fgedu/mongo:4.4.15
docker push 192.168.127.68:8880/fgedu/mongo:4.4.15
#Redis
docker pull redis:7.0.2
docker tag redis:7.0.2 192.168.127.68:8880/fgedu/redis:7.0.2
docker push 192.168.127.68:8880/fgedu/redis:7.0.2
#weblogic12
docker pull gabikiwi/weblogic-1221-domain:latest
docker tag gabikiwi/weblogic-1221-domain:latest 192.168.127.68:8880/fgedu/weblogic:1221
docker push 192.168.127.68:8880/fgedu/weblogic:1221