安装docker私服
安装docker私服
在使用maven管理jar包依赖的时候,为了避免每次都从中央仓库拉取依赖包,使用了nexus做了代理仓库。docker镜像仓库与nexus私服仓库作用类似,用于将打包好的镜像保存在仓库中方便开发、测试、生产环境镜像拉取存储,减轻环境部署需要的相应操作。
主机配置
配置两台主机,一台docker主机,一台harbor私服主机
主机名 | IP地址 | 说明 |
---|---|---|
docker-100 | 192.168.198.100 | docker主机 |
harbor-101 | 192.168.198.101 | harbor主机 |
docker官方私服搭建
官网地址
https://hub.docker.com/_/registry
配置操作
#在101主机拉取镜像
docker pull registry:2.7.1
#备份镜像
docker save registry:2.7.1 -o registry-2.7.1.tar
#导入镜像
docker load -i registry-2.7.1.tar
#运行镜像容器
docker run -itd -p 5000:5000 --name docker-registry --restart=always registry:2.7.1
添加私服仓库地址
编辑配置文件
vi /etc/docker/daemon.json
增加仓库配置信息
{ "insecure-registries":["192.168.198.101:5000"] }
重启docker
systemctl deamon-reload
systemctl restart docker
查看docker信息确认仓库是否添加
docker info
浏览器测试
http://192.168.198.101:5000/v2/_catalog
上传镜像
docker tag nginx:1.19.3-alpine 192.168.198.101:5000/nginx:v1
docker push 192.168.198.101:5000/nginx:v1
浏览器查看
http://192.168.198.101:5000/v2/nginx/tags/list
企业私服搭建
harbor官网地址
https://goharbor.io/
GitHub官网地址
https://github.com/goharbor/harbor
官方帮助文档
https://github.com/goharbor/harbor/blob/v1.9.4/docs/installation_guide.md
验证docker-compose
docker-compose -v
安装harbor
开发环境大部分采用http方式进行安装;生产环境必须采用https方式安装。
#1.解压软件
cd /data
tar -zxf harbor-offline-installer-v1.9.4.tgz
#2.进入安装目录
cd harbor
#3.修改配置文件
vi harbor.yml
#3.1修改私服镜像地址
hostname: 192.168.198.101
#3.2修改镜像地址访问端口号
port: 5000
#3.3修改harbor管理员系统登录密码
harbor_admin_password: Harbor12345
#3.4修改harbor映射卷目录
data_volume: /data/harbor
#4.安装harbor
#4.1执行启动脚本,经过下述三个步骤后,成功安装harbor私服
./install.sh
#4.2准备安装环境,检查docker版本与docker-compose版本
#4.3加载harbor需要的镜像
#4.4准备编译环境
#4.5启动harbor。通过docker-compose方式启动服务
#4.6google浏览器访问harbor私服
http://192.168.198.101:5000
username: admin
password: Harbor12345
配置私服
配置100服务器的docker配置
vi /etc/docker/daemon.json
"insecure-registries":["192.168.198.101:5000"]
#重启docker服务:
systemctl daemon-reload
systemctl restart docker
登录私服
docker login -u admin -p Harbor123 192.168.198.101:5000
#退出私服
docker logout 192.168.198.101:5000
往私服上传镜像
#把镜像打成新的镜像
docker tag mariadb:10.5.2 192.168.198.101:5000/lagouedu/nginx:1.19.3-alpine
#把镜像推送到私服
docker push 192.168.198.101:5000/lagouedu/nginx:1.19.3-alpine
#从私服拉取镜像
docker pull 192.168.198.101:5000/lagouedu/mariadb:10.5.2