Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
docker½ø½×-´î½¨Ë½ÓÐÆóÒµ¼¶¾µÏñ²Ö¿âHarbor
 
  2631  次浏览      28
 2018-2-29 
 
±à¼­ÍƼö:
±¾ÎÄÀ´×ÔÓÚ²©¿ÍÔ°£¬¶ÔÓÚÆóÒµ¶øÑÔDocker hubÌṩµÄ˽Óвֿâ¸öÊýÓÐÏÞ£¬¶ÔÓڳɱ¾ºÍ¹«Ë¾µÄ¼Ü¹¹À´Ëµ´î½¨×Ô¼ºµÄ˽ÓоµÏñ²Ö¿â²ÅÊÇÕýÈ·µÄµÀ·£¬±¾Îļòµ¥µÄ½éÉÜÁËÈçºÎ´î½¨Docker hub¡£

ΪʲôҪ´î½¨Ë½ÓоµÏñ²Ö¿â

¶ÔÓÚÒ»¸ö¸Õ¸Õ½Ó´¥DockerµÄÈËÀ´Ëµ,¹Ù·½µÄDocker hubÊÇÓÃÓÚ¹ÜÀí¹«¹²¾µÏñ¡£¼ÈÈ»¹Ù·½ÌṩÁ˾µÏñ²Ö¿âÎÒÃÇΪʲô»¹ÒªÈ¥×Ô¼º´î½¨Ë½ÓвֿâÄØ£¿ËäȻҲ¿ÉÒÔÍйÜ˽ÓоµÏñ¡£ÎÒÃÇ¿ÉÒԷdz£·½±ãµÄ°ÑÎÒÃÇ×Ô¼º¾µÏñÍÆËÍÉÏÈ¥£¬µ«ÊÇDocker hubÌṩµÄ˽Óвֿâ¸öÊýÓÐÏÞ¡£¶ÔÓÚ¸öÈËÀ´ËµDocker hubÊǸö²»´íµÄÑ¡Ôñ£¬µ«ÊǶÔÓÚÆóÒµÀ´Ëµ£¬Ïà¶ÔÓÚ°²È« £¬³É±¾ºÍ¹«Ë¾µÄ¼Ü¹¹À´Ëµ´î½¨×Ô¼ºµÄ˽ÓоµÏñ²Ö¿â²ÅÊÇÕýÈ·µÄµÀ·¡£

ʲôÊÇHarbor?ΪʲôҪѡÔñHarbor

HarborÊÇÒ»¸öÓÃÓÚ´æ´¢ºÍ·Ö·¢Docker¾µÏñµÄÆóÒµ¼¶Registry·þÎñÆ÷£¬Í¨¹ýÌí¼ÓһЩÆóÒµ±ØÐèµÄ¹¦ÄÜÌØÐÔ£¬ÀýÈ簲ȫ¡¢±êʶºÍ¹ÜÀíµÈ£¬À©Õ¹ÁË¿ªÔ´Docker Distribution¡£×÷Ϊһ¸öÆóÒµ¼¶Ë½ÓÐRegistry·þÎñÆ÷£¬HarborÌṩÁ˸üºÃµÄÐÔÄܺͰ²È«¡£ÌáÉýÓû§Ê¹ÓÃRegistry¹¹½¨ºÍÔËÐл·¾³´«Êä¾µÏñµÄЧÂÊ¡£HarborÖ§³Ö°²×°ÔÚ¶à¸öRegistry½ÚµãµÄ¾µÏñ×ÊÔ´¸´ÖÆ£¬¾µÏñÈ«²¿±£´æÔÚ˽ÓÐRegistryÖУ¬ È·±£Êý¾ÝºÍ֪ʶ²úȨÔÚ¹«Ë¾ÄÚ²¿ÍøÂçÖйܿء£ÁíÍ⣬HarborÒ²ÌṩÁ˸߼¶µÄ°²È«ÌØÐÔ£¬ÖîÈçÓû§¹ÜÀí£¬·ÃÎÊ¿ØÖƺͻÉó¼ÆµÈ¡£

1.»ùÓÚ½ÇÉ«µÄ·ÃÎÊ¿ØÖÆ - Óû§ÓëDocker¾µÏñ²Ö¿âͨ¹ý¡°ÏîÄ¿¡±½øÐÐ×éÖ¯¹ÜÀí£¬Ò»¸öÓû§¿ÉÒÔ¶Ô¶à¸ö¾µÏñ²Ö¿âÔÚͬһÃüÃû¿Õ¼ä£¨project£©ÀïÓв»Í¬µÄȨÏÞ¡£

2.¾µÏñ¸´ÖÆ - ¾µÏñ¿ÉÒÔÔÚ¶à¸öRegistryʵÀýÖи´ÖÆ£¨Í¬²½£©¡£ÓÈÆäÊʺÏÓÚ¸ºÔؾùºâ£¬¸ß¿ÉÓ㬻ìºÏÔÆºÍ¶àÔÆµÄ³¡¾°¡£

3.ͼÐλ¯Óû§½çÃæ - Óû§¿ÉÒÔͨ¹ýä¯ÀÀÆ÷À´ä¯ÀÀ£¬¼ìË÷µ±Ç°Docker¾µÏñ²Ö¿â£¬¹ÜÀíÏîÄ¿ºÍÃüÃû¿Õ¼ä¡£

4.AD/LDAP Ö§³Ö - Harbor¿ÉÒÔ¼¯³ÉÆóÒµÄÚ²¿ÒÑÓеÄAD/LDAP£¬ÓÃÓÚ¼øÈ¨ÈÏÖ¤¹ÜÀí¡£

5.É󼯹ÜÀí - ËùÓÐÕë¶Ô¾µÏñ²Ö¿âµÄ²Ù×÷¶¼¿ÉÒÔ±»¼Ç¼׷ËÝ£¬ÓÃÓÚÉ󼯹ÜÀí¡£

6.¹ú¼Ê»¯ - ÒÑÓµÓÐÓ¢ÎÄ¡¢ÖÐÎÄ¡¢µÂÎÄ¡¢ÈÕÎĺͶíÎĵı¾µØ»¯°æ±¾¡£¸ü¶àµÄÓïÑÔ½«»áÌí¼Ó½øÀ´¡£

7.RESTful API - RESTful API Ìṩ¸ø¹ÜÀíÔ±¶ÔÓÚHarbor¸ü¶àµÄ²Ù¿Ø, ʹµÃÓëÆäËü¹ÜÀíÈí¼þ¼¯³É±äµÃ¸üÈÝÒס£

8.²¿Êð¼òµ¥ - ÌṩÔÚÏߺÍÀëÏßÁ½ÖÖ°²×°¹¤¾ß£¬ Ò²¿ÉÒÔ°²×°µ½vSphereƽ̨(OVA·½Ê½)ÐéÄâÉ豸¡£

Õâ¾ÍÊǹÙÍøÔ­»°¡£ÍêÃÀ½âÊÍÁËʲôÊÇHarbor?ΪʲôҪѡÔñHarbor¡£ÉÏÃæ½âÊÍÄÇô¶àµÄHarbor, ÏÖÔÚÎÒÃÇÀ´¿ªÊ¼°²×°°É¡£

Harbor°²×°

Òª°²×°Harbor,ÓÐÒÔϼ¸¸öÏȾöÌõ¼þ£º

1.Python°æ±¾´óÓÚ»òÕßµÈÓÚ2.7

2.Docker engineµÄ°æ±¾´óÓÚµÈÓÚ1.10

3.Docker ComposeµÄ°æ±¾´óÓÚ1.6.0

Ê×ÏÈÎÒÃÇÐèÒª¼ì²é×Ô¼º·þÎñÆ÷ÊÇ·ñÖ§³ÖÉÏÃæ3¸öÌõ¼þ¡£ÊäÈëÒÔÏ´úÂë¼ì²é

#python2.7¹ÙÍø°²×°Ò³Ãæ
https://www.python.org/downloads/release/python-2711/
#¼ì²éPython°æ±¾.Ubuntu 16.04ÒѾ­¼¯³ÉÁËpython2.7¡£
python -V
#¼ì²éDockerµÄ°æ±¾
docker -v
#Docker Compose°²×°½Å±¾
sudo curl -L https://github.com/docker/compose/releases

/download/1.6.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
#¼ì²éDocker ComposeµÄ°æ
docker-compose --version
#Èç¹ûÌáʾPermission denied¡£Ö´ÐÐÒÔÏÂÓï¾ä¸³È¨
sudo chmod +x /usr/local/bin/docker-compose

È·±£·þÎñÆ÷ÉϵÄÈí¼þ°æ±¾ÒѾ­Âú×ãÒÔÉÏÒªÇóÖ®ºó¡£ÎÒÃÇÏÖÔÚ¿ªÊ¼°²×°Harbor¡£Èç¹û²»ÖªµÀÔõô°²×°docker ¿ÉÒԲο¼ÎÒ²©¿Í֮ǰµÄÎÄÕ¡£´«ËÍÃÅ

ÏÂÔØHarbor

#ÏÂÔØ°²×°°ü
wget https://github.com/vmware/harbor/releases

/download/v1.1.2/harbor-offline-installer-v1.1.2.tgz
#½âѹ
tar -xzf harbor-offline-installer-v1.1.2.tgz
cd harbor
#±à¼­ÅäÖÃÎļþ
vi harbor.cfg

ÅäÖÃÎļþ×¢ÊͲο¼

## Configuration file of Harbor

#ÉèÖ÷ÃÎʵØÖ·£¬Ö§³Ö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_admin_password = Harbor12345

#harborÈÏ֤ģʽ£¬Ä¬ÈÏΪdb_auth£¬±¾µØmysql£¬Ò²¿ÉÒÔÅäÖÃldapÈÏÖ¤
auth_mode = db_auth

#ldapÈÏÖ¤ÅäÖÃ
ldap_url = ldaps://ldap.mydomain.com
ldap_basedn = ou=people,dc=mydomain,dc=com
ldap_uid = uid
ldap_scope = 3

#mysqlÊý¾Ý¿âÉèÖÃ
db_password = root123
self_registration = on
use_compressed_js = on
max_job_workers = 3
token_expiration = 30
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
project_creation_restriction = everyone

#SSLÖ¤Ê鵨ַ¡£Ö»ÓпªÆôhttps·ÃÎʲÅÉúЧ
ssl_cert = /data/cert/server.crt
ssl_cert_key = /data/cert/server.key
#############

ÒÔÉϰ´ÕÕ×Ô¼ºÐèÇóÐ޸ġ£Èç¹ûÏ뿪Æôhttpsģʽ·ÃÎÊÐèÒª×Ô¼ºÉêÇësslÖ¤Êé¡£harborĬÈϼàÌý80¶Ë¿Ú¡£Èç¹ûÐèÒªÐ޸Ķ˿ڡ£ÇëÐÞ¸ÄĿ¼ÏµÄdocker-compose.ymlÎļþ£¬

ÐÞ¸ÄÍê³ÉÖ®ºó¡£ÔËÐÐ

sudo ./install.sh

½øÐа²×°¡£°²×°Íê³ÉÖ®ºóËû»á×Ô¼ºÆô¶¯¡£ÕâÀïËû»á×Ô¼ºÏÂÔØÒ»Ð©ËûËùÐèµÄimages¡£¹ý³ÌÓеãÂý¡£¿ÉÒÔͨ¹ý°¢ÀïÔÆµÄ¾µÏñ¼ÓËÙÆ÷À´¼ÓËÙ¡£°¢ÀïÔÆ¾µÏñ¼ÓËÙÆ÷ .´ò¿ªÁ´½ÓµÇ¼֮ºóµã»÷¾µÏñ¼ÓËÙ¡£È»ºóÄã»áµÃµ½Ò»¸öרÊô¼ÓËÙµØÖ·¡£Èçͼ

¿ÉÒÔ¸ù¾Ý×Ô¼ºµÄ»·¾³²é¿´Îĵµ°²×°Ê¹Óá£È»ºóµÈ´ýÃüÁîÖ´ÐнáÊø¡£

¿ªÆôhttps

Èç¹ûʹÓÃhttpµÄÕâÀï¿ÉÒÔÌø¹ý£¬ÎÒÃǰÑÒѾ­ÉêÇëºÃµÄÖ¤ÊéÎļþ·Åµ½/data/cert Ŀ¼ÏÂÃæ¡£È»ºóÐÞ¸Äharbor.cfgÎļþ

??°²×°³É¹¦Ö®ºó´ò¿ªÖ®Ç°×Ô¼ºÉ趨µÄÓòÃû»òÕßIPµØÖ·¡£²âÊÔµØÖ· ¡£²âÊÔÓû§Ãû:harbor_test£¬²âÊÔÃÜÂ룺Harbor_test123

ʹÓÃharbor

´´½¨Óû§

harborÒѾ­´´½¨³É¹¦¡£ÏÖÔÚÎÒÃÇÀ´¿ªÊ¼´´½¨Ò»¸öÓû§¡£

´´½¨ÏîÄ¿

´´½¨ÏîÄ¿£¬²¢Ìí¼ÓÓû§

ÉÏ´«¾µÏñ

Ê×ÏÈʹÓÃdocker loginÃüÁîµÇ¼£º

#怬
robin:~ robin$ sudo docker login shepherd618.cn
Username: admin
Password:
Login Succeeded
#²é¿´±¾µØ¾µÏñ
robin:docker_demo robin$ sudo docker images
Password:
REPOSITORY TAG IMAGE ID CREATED SIZE
docker_demo latest fdd994bee741 19

seconds ago 283MB
node 8.9-alpine 406f227b21f5 2 weeks ago 68.1MB
#¸ødcoker_demoÐÂÔötag
robin:docker_demo robin$ sudo docker

tag docker_demo shepherd618.cn/test/demo
#push images
robin:docker_demo robin$ docker push

shepherd618.cn/test/demo
The push refers to repository [shepher

d618.cn/test/demo]
f8387a884f73: Layer already exists
d74f9d9e7013: Pushed
f846841ed47f: Layer already exists
0198944a9875: Layer already exists
9dfa40a0da3b: Layer already exists
latest: digest: sha256:5b33acc5edf6f48

cbd8e7ccd216daa4a

7da1ebd4871fbc68bc2517136f1ccf44 size: 1374

È»ºó´ò¿ªharbor,»á¿´µ½¸Õ¸ÕÉÏ´«µÄimagesºÍ²Ù×÷ÈÕÖ¾

µ±ÎÒÃÇÐèÒªÓõ½Õâ¸öimagesµÄʱºò¿ÉÒÔͨ¹ýÉÏÃæ¸øµÄpullÃüÁîÏÂÔØµ½±¾µØ¡£µ½´ËÕû¸ö°²×°¹ý³Ì½áÊø¡£

   
2631 ´Îä¯ÀÀ       28
Ïà¹ØÎÄÕÂ

ÔÆ¼ÆËãµÄ¼Ü¹¹
¶ÔÔÆ¼ÆËã·þÎñÄ£ÐÍ
ÔÆ¼ÆËãºËÐļ¼ÊõÆÊÎö
Á˽âÔÆ¼ÆËãµÄ©¶´
Ïà¹ØÎĵµ

ÔÆ¼ÆËã¼ò½é
ÔÆ¼ÆËã¼ò½éÓëÔÆ°²È«
ÏÂÒ»´úÍøÂç¼ÆËã--ÔÆ¼ÆËã
ÈídzÎöÔÆ¼ÆËã
Ïà¹Ø¿Î³Ì

ÔÆ¼ÆËãÔ­ÀíÓëÓ¦ÓÃ
ÔÆ¼ÆËãÓ¦ÓÃÓ뿪·¢
CMMIÌåϵÓëʵ¼ù
»ùÓÚCMMI±ê×¼µÄÈí¼þÖÊÁ¿±£Ö¤