×ðÁú¿­Ê±¹ÙÍøµÇ¼

ÔõÑùÔÚLinuxЧÀÍÆ÷ÉϽ¨Éè¸ßЧµÄDocker¾µÏñ¿ÍÕ» £¿

ÔõÑùÔÚlinuxЧÀÍÆ÷ÉϽ¨Éè¸ßЧµÄdocker¾µÏñ¿ÍÕ» £¿

Ëæ×ÅÈÝÆ÷»¯ÊÖÒÕµÄÉú³¤ºÍÆÕ¼° £¬DockerÒѳÉΪ×îÊ¢ÐеÄÈÝÆ÷»¯½â¾ö¼Æ»®Ö®Ò» ¡£ÔÚʹÓÃDocker¹¹½¨ºÍÖÎÀí´ó¹æÄ£µÄÓ¦ÓóÌÐòʱ £¬¸ßЧµÄDocker¾µÏñ¿ÍÕ»ÊǺÜÊÇÖ÷ÒªµÄ ¡£Ëü²»µ«¿ÉÒÔ¼ÓËÙ°²ÅźÍÀ©Õ¹Àú³Ì £¬»¹¿ÉÒÔÌá¸ß¿ª·¢ÕßµÄÊÂÇéЧÂÊ ¡£ÔÚ±¾ÎÄÖÐ £¬ÎÒÃǽ«ÏÈÈÝÔõÑùÔÚLinuxЧÀÍÆ÷ÉϽ¨Éè¸ßЧµÄDocker¾µÏñ¿ÍÕ» £¬²¢ÌṩÏìÓ¦µÄ´úÂëʾÀý ¡£

×°ÖÃDockerºÍDocker Registry

Ê×ÏÈ £¬ÎÒÃÇÐèÒªÔÚLinuxЧÀÍÆ÷ÉÏ×°ÖÃDockerºÍDocker Registry ¡£Docker¿ÉÒÔͨ¹ý¹Ù·½µÄ×°Öþ籾¾ÙÐÐ×°Öà £¬ÏêϸÀú³ÌÇë²Î¿¼DockerµÄ¹Ù·½Îĵµ ¡£×°ÖÃÍêDockerºó £¬ÎÒÃÇ¿ÉÒÔʹÓÃÒÔÏÂÏÂÁî×°ÖÃDocker Registry£º

$ docker run -d -p 5000:5000 --restart=always --name registry registry:2

µÇ¼ºó¸´ÖÆ

´ËÏÂÁÔÚЧÀÍÆ÷ÉÏÆô¶¯Ò»¸öDocker RegistryÈÝÆ÷ £¬²¢½«ÈÝÆ÷ÖеÄ5000¶Ë¿ÚÓ³É䵽ЧÀÍÆ÷µÄ5000¶Ë¿Ú ¡£

ÉèÖÃDocker Registry

×°ÖÃÍêDocker Registryºó £¬ÎÒÃÇÐèÒª¾ÙÐÐһЩÉèÖòŻªÊ¹Æä¸ü¸ßЧ ¡£Ê×ÏÈ £¬ÎÒÃÇÐèÒªÐÞ¸ÄDockerµÄÉèÖÃÎļþ £¬ÒÔ±ãÔÊÐí²»Çå¾²µÄ¾µÏñ´«Êä ¡£±à¼­/etc/docker/daemon.jsonÎļþ £¬Ìí¼ÓÒÔÏÂÄÚÈÝ£º

{
  "insecure-registries" : ["your-registry-url:5000"]
}

µÇ¼ºó¸´ÖÆ

ÆäÖÐ £¬your-registry-urlÊÇÄãµÄ¾µÏñ¿ÍÕ»µÄURL£¨ÀýÈ磺my-registry.com£© ¡£

½ÓÏÂÀ´ £¬ÎÒÃÇÐèÒªÖØмÓÔØDockerµÄÉèÖÃÎļþ £¬ÒÔʹ¸ü¸ÄÉúЧ£º

$ systemctl daemon-reload
$ systemctl restart docker

µÇ¼ºó¸´ÖÆ

½¨ÉèºÍÉÏ´«¾µÏñ

ÏÖÔÚ £¬ÎÒÃÇ¿ÉÒÔ½¨ÉèDocker¾µÏñ²¢ÉÏ´«µ½ÎÒÃǵľµÏñ¿ÍÕ»ÖÐÁË ¡£Ê×ÏÈ £¬ÎÒÃÇÐèÒª¹¹½¨Ò»¸öDocker¾µÏñ ¡£ÒÔÏÂÊÇÒ»¸öʾÀýµÄDockerfileÎļþ£º

FROM ubuntu:latest
RUN apt-get update && apt-get install -y python3
COPY app.py /app.py
CMD ["python3", "/app.py"]

µÇ¼ºó¸´ÖÆ

ÔÚͳһĿ¼Ï½¨ÉèÒ»¸öÃûΪapp.pyµÄÎļþ £¬²¢Ìí¼ÓһЩ´úÂë ¡£Ö®ºó £¬Ê¹ÓÃÒÔÏÂÏÂÁî¹¹½¨¾µÏñ£º

$ docker build -t your-registry-url:5000/my-image:1.0 .

µÇ¼ºó¸´ÖÆ

½«your-registry-urlÌ滻ΪÄãµÄ¾µÏñ¿ÍÕ»µÄURL ¡£

¹¹½¨Íê³Éºó £¬ÎÒÃÇ¿ÉÒÔʹÓÃÒÔÏÂÏÂÁ¾µÏñÉÏ´«µ½¾µÏñ¿ÍÕ»ÖУº

$ docker push your-registry-url:5000/my-image:1.0

µÇ¼ºó¸´ÖÆ

Õ⽫»á½«¹¹½¨ºÃµÄ¾µÏñÍÆË͵½ÎÒÃǵľµÏñ¿ÍÕ»ÖÐ ¡£

´Ó¾µÏñ¿ÍÕ»ÖÐÀ­È¡¾µÏñ

µ±ÎÒÃÇÐèÒªÔÚÆäËûЧÀÍÆ÷ÉÏ°²ÅÅÎÒÃǵÄÓ¦ÓÃʱ £¬¿ÉÒÔ´Ó¾µÏñ¿ÍÕ»ÖÐÀ­È¡ËùÐèµÄ¾µÏñ ¡£ÒÔÏÂÊÇÀ­È¡¾µÏñµÄÏÂÁ

$ docker pull your-registry-url:5000/my-image:1.0

µÇ¼ºó¸´ÖÆ

Õ⽫»á´Ó¾µÏñ¿ÍÕ»ÖÐÀ­È¡¶ÔÓ¦°æ±¾µÄ¾µÏñ ¡£

ʹÓÃ˽ÓоµÏñ¿ÍÕ»

ΪÁ˱£»¤ÎÒÃǵÄÓ¦ÓúÍÊý¾ÝÇå¾² £¬ÎÒÃÇ¿ÉÒÔʹÓûá¼û¿ØÖÆÀ´ÏÞÖƶÔÎÒÃǵÄ˽ÓоµÏñ¿ÍÕ»µÄ»á¼û ¡£ÒÔÏÂÊÇÒ»ÖÖʹÓûù×Ô¼º·ÝÑéÖ¤£¨Basic Authentication£©·½·¨À´¿ØÖÆ»á¼ûµÄʾÀý£º

Ê×ÏÈ £¬ÎÒÃÇÐèÒª½¨ÉèÒ»¸öÃÜÂëÎļþ £¬ÓÃÓÚ´æ´¢Óû§ÃûºÍÃÜÂë ¡£Ê¹ÓÃÒÔÏÂÏÂÁÉèÃÜÂëÎļþ£º

$ docker run --rm --entrypoint htpasswd registry:2 -Bbn your-username your-password > auth/htpasswd

µÇ¼ºó¸´ÖÆ

ÆäÖÐ £¬your-usernameºÍyour-passwordÊÇÄãËù½ç˵µÄÓû§ÃûºÍÃÜÂë ¡£

½ÓÏÂÀ´ £¬ÎÒÃÇÐèÒªÐÞ¸ÄDocker RegistryµÄÆô¶¯ÏÂÁî £¬Ö¸¶¨Ê¹Óûá¼û¿ØÖÆÉèÖà ¡£Ê¹ÓÃÒÔÏÂÏÂÁîÆô¶¯Docker RegistryÈÝÆ÷£º

$ docker run -d -p 5000:5000 --restart=always --name registry 
             -v /path/to/auth:/auth 
             -e "REGISTRY_AUTH=htpasswd" 
             -e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" 
             -e "REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd" 
             registry:2

µÇ¼ºó¸´ÖÆ

ÆäÖÐ £¬½«/path/to/authÌ滻ΪÄãËù´æ´¢ÃÜÂëÎļþµÄ·¾¶ ¡£

ÏÖÔÚ £¬ÄãµÄ˽ÓоµÏñ¿ÍÕ»ÒѾ­ÉèÖÃÁË»ù×Ô¼º·ÝÑéÖ¤ £¬Ö»Óо­ÓÉÊÚȨµÄÓû§²Å»ª¹»»á¼û ¡£

×ܽá

ÔÚ±¾ÎÄÖÐ £¬ÎÒÃÇÏÈÈÝÁËÔõÑùÔÚLinuxЧÀÍÆ÷ÉϽ¨Éè¸ßЧµÄDocker¾µÏñ¿ÍÕ» ¡£ÎÒÃÇÊ×ÏÈ×°Öò¢ÉèÖÃÁËDockerºÍDocker Registry £¬È»ºóͨ¹ý¹¹½¨ºÍÉÏ´«¾µÏñµÄʾÀýÑÝʾÁËÔõÑùʹÓþµÏñ¿ÍÕ» ¡£×îºó £¬ÎÒÃÇÏÈÈÝÁËÔõÑùʹÓûù×Ô¼º·ÝÑéÖ¤À´±£»¤¾µÏñ¿ÍÕ»µÄÇå¾² ¡£

ͨ¹ý½¨Éè¸ßЧµÄDocker¾µÏñ¿ÍÕ» £¬ÎÒÃÇ¿ÉÒÔ¸üºÃµØÖÎÀíºÍ°²ÅÅ´ó¹æÄ£µÄÓ¦ÓóÌÐò £¬Ìá¸ß¿ª·¢ºÍÔËάЧÂÊ ¡£Ï£Íû±¾ÎĶÔÄãÓÐËù×ÊÖú £¬²¢Äܹ»ÔÚÏÖʵӦÓÃÖÐÊ©Õ¹×÷Óà ¡£

ÒÔÉϾÍÊÇÔõÑùÔÚLinuxЧÀÍÆ÷ÉϽ¨Éè¸ßЧµÄDocker¾µÏñ¿ÍÕ» £¿µÄÏêϸÄÚÈÝ £¬¸ü¶àÇë¹Ø×¢±¾ÍøÄÚÆäËüÏà¹ØÎÄÕ£¡

ÃâÔð˵Ã÷£ºÒÔÉÏչʾÄÚÈÝȪԴÓÚÏàÖúýÌå¡¢ÆóÒµ»ú¹¹¡¢ÍøÓÑÌṩ»òÍøÂçÍøÂçÕûÀí £¬°æȨÕùÒéÓë±¾Õ¾ÎÞ¹Ø £¬ÎÄÕÂÉæ¼°¿´·¨Óë¿´·¨²»´ú±í×ðÁú¿­Ê±¹ÙÍøµÇ¼ÂËÓÍ»úÍø¹Ù·½Ì¬¶È £¬Çë¶ÁÕß½ö×ö²Î¿¼ ¡£±¾ÎĽӴýתÔØ £¬×ªÔØÇë˵Ã÷À´ÓÉ ¡£ÈôÄúÒÔΪ±¾ÎÄÇÖÕ¼ÁËÄúµÄ°æȨÐÅÏ¢ £¬»òÄú·¢Ã÷¸ÃÄÚÈÝÓÐÈκÎÉæ¼°ÓÐÎ¥¹«µÂ¡¢Ã°·¸Ö´·¨µÈÎ¥·¨ÐÅÏ¢ £¬ÇëÄúÁ¬Ã¦ÁªÏµ×ðÁú¿­Ê±¹ÙÍøµÇ¼ʵʱÐÞÕý»òɾ³ý ¡£

Ïà¹ØÐÂÎÅ

ÁªÏµ×ðÁú¿­Ê±¹ÙÍøµÇ¼

18523999891

¿É΢ÐÅÔÚÏß×Éѯ

ÊÂÇéʱ¼ä£ºÖÜÒ»ÖÁÖÜÎå £¬9:30-18:30 £¬½ÚãåÈÕÐÝÏ¢

QR code
ÍøÕ¾µØͼ