Docker私有仓库管理之Harbor搭建
2017-04-20 18:52
1091 查看
Harbor简介:http://dockone.io/article/1179
Harbor官网安装说明:https://github.com/vmware/harbor/blob/master/docs/installation_guide.md
环境说明:
Centos 7.2
主机IP: 192.168.20.17
启动docker
systemctl restart docker
查看docker版本
pip install docker-compose
源码安装
wget https://github.com/docker/compose/archive/master.zip
unzip master.zip
cd compose-master
python setup.py install
查看docker-compose版本
wget https://storage.googleapis.com/golang/go1.8.1.linux-amd64.tar.gz
tar -C /usr/local/ -zxf go1.8.1.linux-amd64.tar.gz
把以下内容添加到环境变量
使其生效
source ~/.bash_profile
查看go版本
cd /harbor-master/make
查看依赖是否安装
配置文件参数说明(转自:http://www.cnblogs.com/jicki/p/5737369.html)
此处我们只修改
5、 更新
cp docker-compose.tpl docker-compose.yml
在docker hub查找
yml配置文件中我们只改相应镜像对应版本号
注:此处除了nginx和registry镜像的版本不同外,其他镜像的版本应该一致(用同一版本)
docker-compose up -d
此时我们可以在浏览器中输入:
查看compose状态
docker-compose ps
没意外的话,应该全部状态都是
需要修改web访问端口的话,先在
更多关于
A、修改docker守护进程启动参数
vi /etc/sysconfig/docker
注:
B、重启docker进程
重启进程前应先停掉所有在运行的容器
systemctl restart docker
C、修改docker镜像tag标签
格式为: userip/项目名/image名字:版本号(项目名为harbor中的项目名)
D、登陆并push
上传完后在harbor web界面的test项目下则可以看到刚上传的镜像了
docker pull 192.168.20.17/test/busybox:latest
Harbor官网安装说明:https://github.com/vmware/harbor/blob/master/docs/installation_guide.md
环境说明:
Centos 7.2
主机IP: 192.168.20.17
一、安装相关依赖
1、安装docker
yum -y install docker启动docker
systemctl restart docker
查看docker版本
$ docker version Client: Version: 1.12.6 API version: 1.24 Package version: docker-common-1.12.6-11.el7.centos.x86_64 Go version: go1.7.4 Git commit: 96d83a5/1.12.6 Built: Tue Mar 7 09:23:34 2017 OS/Arch: linux/amd64 Cannot connect to the Docker daemon. Is the docker daemon running on this host?
2、安装docker-compose
pip安装pip install docker-compose
源码安装
wget https://github.com/docker/compose/archive/master.zip
unzip master.zip
cd compose-master
python setup.py install
查看docker-compose版本
$ docker-compose version docker-compose version 1.13.0dev, build unknown docker-py version: 2.2.1 CPython version: 2.7.5 OpenSSL version: OpenSSL 1.0.1e-fips 11 Feb 2013
3、安装golang
到官网下载最新的相应系统安装包:https://golang.org/dl/wget https://storage.googleapis.com/golang/go1.8.1.linux-amd64.tar.gz
tar -C /usr/local/ -zxf go1.8.1.linux-amd64.tar.gz
把以下内容添加到环境变量
vi ~/.bash_profile
export PATH=$PATH:/usr/local/go/bin
使其生效
source ~/.bash_profile
查看go版本
$ go version go version go1.8.1 linux/amd64
二、部署harbor
harbor官方网址: https://github.com/vmware/harbor1、下载harbor源码
wget https://github.com/vmware/harbor/archive/master.zip2、解压
unzip master.zipcd /harbor-master/make
查看依赖是否安装
$ ./checkenv.sh Note: golang version: 1.8.1 Note: docker version: 1.12.6 Note: docker-compose version: 1.12.0
3、修改配置文件
vi harbor.cfg配置文件参数说明(转自:http://www.cnblogs.com/jicki/p/5737369.html)
## Configuration file of Harbor # hostname 设置访问地址,支持IP,域名,主机名,禁止设置127.0.0.1 hostname = reg.mydomain.com # 访问协议,可设置 http,https ui_url_protocol = http # 邮件通知, 配置邮件通知。 email_server = smtp.mydomain.com email_server_port = 25 email_username = sample_admin@mydomain.com email_password = abc email_from = admin <sample_admin@mydomain.com> email_ssl = false # harbor WEB UI登陆使用的密码 harbor_admin_password = Harbor12345 # 认证方式,这里支持多种认证方式,默认是 db_auth ,既mysql数据库存储认证。 # 这里还支持 ldap 以及 本地文件存储方式。 auth_mode = db_auth # ldap 服务器访问地址。 ldap_url = ldaps://ldap.mydomain.com ldap_basedn = uid=%s,ou=people,dc=mydomain,dc=com # mysql root 账户的 密码 db_password = root123 self_registration = on use_compressed_js = on max_job_workers = 3 verify_remote_cert = on customize_crt = on # 一些显示的设置. crt_country = CN crt_state = State crt_location = CN crt_organization = organization crt_organizationalunit = organizational unit crt_commonname = example.com crt_email = example@example.com
此处我们只修改
hostname=192.168.20.17(私有仓库主机ip)
4、更新生成相关配置文件
./prepare5、 更新docker-compose.yml
cp docker-compose.tpl docker-compose.yml在docker hub查找
docker-compose.yml配置文件中所有镜像的官方最新版本号,并将其替换掉
__version__
yml配置文件中我们只改相应镜像对应版本号
image: vmware/harbor-log:v1.1.0 image: vmware/registry:photon-2.6.0 image: vmware/harbor-db:v1.1.0 image: vmware/harbor-adminserver:v1.1.0 image: vmware/harbor-ui:v1.1.0 image: vmware/harbor-jobservice:v1.1.0 image: vmware/nginx:1.11.5-patched
注:此处除了nginx和registry镜像的版本不同外,其他镜像的版本应该一致(用同一版本)
6、运行
必须在docker-compose.yml目录下运行
docker-compose up -d
此时我们可以在浏览器中输入:
http://192.168.20.17:80进入harbor web管理后台(80是docker-compose.yml 配置文件中nginx容器的默认端口),默认的帐号密码是
admin,
Harbor12345(如果你没有修改
harbor.cfg中的
harbor_admin_password)
查看compose状态
docker-compose ps
没意外的话,应该全部状态都是
UP
需要修改web访问端口的话,先在
harbor.cfg中
hostname=192.168.20.17:5000,再把
docker-compose.yml中的80端口改为5000,如下(只贴修改部分)
proxy: image: vmware/nginx:1.11.5-patched container_name: nginx restart: always volumes: - ./common/config/nginx:/etc/nginx:z networks: - harbor ports: - 5000:80 - 443:443 - 4443:4443
更多关于
docker-compose命令相关参数选项可查看官网
三、上传和下载镜像
1、上传镜像到私有仓库
哪台主机需要上传镜像到刚搭建的私有仓库,就需要更改docker进程启动的相关参数A、修改docker守护进程启动参数
OPTIONS新增
--insecure-registry 192.168.20.17
vi /etc/sysconfig/docker
OPTIONS='--selinux-enabled --log-driver=journald --signature-verification=false --registry-mirror=https://olzwzeg2.mirror.aliyuncs.com --insecure-registry 192.168.20.17'
注:
--registry-mirror=https://olzwzeg2.mirror.aliyuncs.com是用于docker镜像下载加速,如何设置镜像加速
B、重启docker进程
重启进程前应先停掉所有在运行的容器
systemctl restart docker
C、修改docker镜像tag标签
格式为: userip/项目名/image名字:版本号(项目名为harbor中的项目名)
$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE docker.io/busybox latest 00f017a8c2a6 5 weeks ago 1.11 MB $ docker tag docker.io/busybox:latest 192.168.20.17/test/busybox:latest
D、登陆并push
$ docker login 192.168.20.17:80 $ docker push 192.168.20.17/test/busybox:latest
上传完后在harbor web界面的test项目下则可以看到刚上传的镜像了
2、从私有仓库下载镜像
在需要下载镜像的机器上,同样需要修改docker进程参数(跟上传镜像到私有仓库一样操作进行修改)docker pull 192.168.20.17/test/busybox:latest
相关文章推荐
- 使用Harbor搭建Docker私有镜像仓库服务
- 基于 Harbor 搭建 Docker 私有镜像仓库
- 可能是最详细的部署:Docker Registry企业级私有镜像仓库Harbor管理WEB UI
- 可能是最详细的部署:Docker Registry企业级私有镜像仓库Harbor管理WEB UI
- Docker--------Harbor registry私有仓库搭建 [ Http ]
- Docker 搭建私有仓库(registry、harbor)
- 使用Harbor搭建Docker私有镜像仓库服务
- docker基础:私有仓库repository搭建(2):Harbor
- 基于 Harbor 搭建 Docker 私有镜像仓库
- docker 私有镜像仓库 harbor 搭建
- 基于 Harbor 搭建 Docker 私有镜像仓库
- Harbor -- 搭建Docker私有仓库
- docker私有仓库搭建 使用Portus管理docker registry 私有仓库
- 搭建docker私有仓库-Harbor
- 可能是最详细的部署:Docker Registry企业级私有镜像仓库Harbor管理WEB UI
- 基于 Harbor 搭建 Docker 私有镜像仓库
- 详解基于Harbor搭建Docker私有镜像仓库
- Kubernetes管理Docker集群之路(3.搭建私有仓库)
- 企业级Docker私有仓库Harbor管理平台构建示例
- 企业级私有Docker仓库Harbor搭建