ÔõÑùÓÅ»¯DockerÈÝÆ÷µÄÐÔÄÜ
ÔõÑùÓÅ»¯DockerÈÝÆ÷µÄÐÔÄÜ
DockerÊÇÒ»ÖÖÇáÁ¿¼¶µÄÐéÄ⻯ÊÖÒÕ£¬ÔÚÏÖʵӦÓÃÖлñµÃÆÕ±éÓ¦Ó㬿ÉÊÇÔÚһЩÇéÐÎÏ£¬DockerÈÝÆ÷µÄÐÔÄÜ¿ÉÄÜ»á±äµÃ½ÏÁ¿µÍ£¬Òò´ËÐèÒª¾ÙÐÐÓÅ»¯¡£±¾ÎĽ«ÏÈÈÝһЩÓÅ»¯DockerÈÝÆ÷ÐÔÄܵÄÒªÁ죬ÒÔ¼°ÏìÓ¦µÄ´úÂëʾÀý¡£
Ò»¡¢Ê¹Óûù´¡¾µÏñ
DockerÈÝÆ÷µÄÐÔÄÜÖ÷Ҫȡ¾öÓÚËùʹÓõľµÏñ¡£Ê¹Óûù´¡¾µÏñ¿ÉÒÔ´ó´óÌá¸ßÈÝÆ÷ÐÔÄÜ¡£ÀýÈ磬ʹÓûùÓÚAlpine LinuxµÄ¾µÏñ¶ø²»ÊÇUbuntu¾µÏñ£¬¿ÉÒÔïÔÌ´ó¾ÞϸС300MBµÄÈÝÆ÷Ìå»ý£¬´Ó¶øÌá¸ßÁËÆô¶¯ÈÝÆ÷µÄËÙÂÊ¡£
ʾÀý´úÂ룺
# ʹÓÃAlpine Linux×÷Ϊ»ù´¡¾µÏñ FROM alpine:latest
µÇ¼ºó¸´ÖÆ
¶þ¡¢ÓÅ»¯ÈÝÆ÷ÉèÖÃ
ºÏÀíÉèÖÃÈÝÆ÷µÄ×ÊÔ´ÏÞÖÆ£¬¿ÉÒÔ¸üºÃµØ°ü¹ÜÈÝÆ÷µÄÐÔÄÜ¡£ÀýÈ磬¿ÉÒÔʹÓÖcpuset-cpusÑ¡ÏîÏÞÖÆÈÝÆ÷ʹÓõÄÏà¶ÔCPUÊýÄ¿¡£±ðµÄ£¬¿ÉÒÔͨ¹ý–memoryÑ¡ÏîÉèÖÃÈÝÆ÷µÄÄÚ´æÏÞÖƶø²»ÊÇÈÃÆäÎÞÏÞÖƵØʹÓÃϵͳÄÚ´æ¡£
ʾÀý´úÂ룺
# ÉèÖÃÈÝÆ÷ʹÓõÄcpuÊýÄ¿ docker run --cpuset-cpus=0,2,4 my_image # ÉèÖÃÈÝÆ÷ÄÚ´æÏÞÖÆ docker run -m 512m my_image
µÇ¼ºó¸´ÖÆ
Èý¡¢¾ÙÐоµÏñ·Ö²ã
¾µÏñ·Ö²ã¿ÉÒÔ¶ÔDockerÈÝÆ÷¾ÙÐмÓËÙÓÅ»¯¡£Í¨¹ý½«¾µÏñÖеĸ÷¸ö×é¼þ·Ö²ã£¬¿ÉÒÔÔÚ¹¹½¨Àú³ÌÖÐʹÓûº´æÀ´ïÔ̹¹½¨Ê±¼ä¡£
ʾÀý´úÂ룺
# Dockerfile FROM ubuntu:18.04 as build RUN apt-get update && apt-get install -y build-essential git FROM build as clone RUN git clone https://github.com/<username>/my_project.git /usr/src/my_project
µÇ¼ºó¸´ÖÆ
ËÄ¡¢Ê¹ÓøüºÃµÄÈÝÆ÷±àÅŹ¤¾ß
ÈÝÆ÷±àÅŹ¤¾ßʹ°²ÅÅÈÝÆ÷µÄʹÃü±äµÃÔ½·¢¼òÆÓ¡£Ê¹ÓøüºÃµÄÈÝÆ÷±àÅŹ¤¾ß¿ÉÒÔÌá¸ßÈÝÆ÷ÐÔÄÜ¡£ÀýÈçʹÓÃKubernetes¾ÙÐÐÈÝÆ÷±àÅÅ£¬ÊÇÒ»ÖÖ½ÏÁ¿Ê¢Ðеķ½·¨¡£
ʾÀý´úÂ룺
# ʹÓÃKubernetes¾ÙÐÐÈÝÆ÷±àÅÅ kubectl run myapp --image=my_image --port=80
µÇ¼ºó¸´ÖÆ
Î塢ʹÓÃÈÕÖ¾¾ÛºÏ¹¤¾ß
ÔÚDockerÈÝÆ÷ÔËÐÐÀú³ÌÖУ¬¿ÉÄ᷺ܻÆðÖÖÖÖÎÊÌ⡣ʹÓÃÈÕÖ¾¾ÛºÏ¹¤¾ß¿ÉÒÔÀû±ãµØÉó²éDockerÈÝÆ÷µÄÔËÐÐ״̬£¬´Ó¶ø¸ü¿ìµØɨ³ýÎÊÌ⣬Ìá¸ßÐÔÄÜ¡£
ʾÀý´úÂ룺
# ʹÓÃELK¾ÙÐÐÈÕÖ¾¾ÛºÏ docker run -p 5601:5601 -p 9200:9200 -p 5044:5044 -d -v /path/to/log:/usr/share/logstash/data sebp/elk
µÇ¼ºó¸´ÖÆ
×ܽá
ͨ¹ýÓÅ»¯DockerÈÝÆ÷ÉèÖá¢Ê¹Óûù´¡¾µÏñ¡¢¾ÙÐоµÏñ·Ö²ã¡¢Ê¹ÓøüºÃµÄÈÝÆ÷±àÅŹ¤¾ßºÍʹÓÃÈÕÖ¾¾ÛºÏ¹¤¾ß£¬¿ÉÒÔÌá¸ßDockerÈÝÆ÷µÄÐÔÄÜ¡£ÒÔÉÏΪÎÒÃÇÏÈÈݵÄDockerÈÝÆ÷ÐÔÄÜÓÅ»¯ÄÚÈÝ£¬Ï£Íû¶ÔDockerµÄÓû§ÓÐËù×ÊÖú¡£
ÒÔÉϾÍÊÇÔõÑùÓÅ»¯DockerÈÝÆ÷µÄÐÔÄܵÄÏêϸÄÚÈÝ£¬¸ü¶àÇë¹Ø×¢±¾ÍøÄÚÆäËüÏà¹ØÎÄÕ£¡