dockerÔõô½¨Éè»ù´¡¾µÏñ
½¨Éè docker »ù´¡¾µÏñÉæ¼°ÒÔÏ°취£º½¨Éè»ù´¡Îļþϵͳ£¬°üÀ¨ÐëÒªµÄÎļþºÍĿ¼¡£×°ÖÃËùÐèµÄÈí¼þ°ü¡£½¨ÉèÓû§ºÍ×飨¿ÉÑ¡£©¡£ÉèÖÃÊÂÇéĿ¼£¨¿ÉÑ¡£©¡£ÉèÖÃÇéÐαäÁ¿£¨¿ÉÑ¡£©¡£Ìá½»¾µÏñÒÔÉúÑÄÄúµÄ¸ü¸Ä¡£
ÔõÑù½¨Éè Docker »ù´¡¾µÏñ
½¨Éè Docker »ù´¡¾µÏñÊÇÒ»¸ö¼òÆÓµÄÀú³Ì£¬ËüÔÊÐíÄúÔÚ×Ô¼ºµÄ×Ô½ç˵¾µÏñÖ®ÉϹ¹½¨¸üÖØ´óµÄ¾µÏñ¡£ÏÂÃæÊÇÔõÑù½¨Éè»ù´¡¾µÏñµÄ°ì·¨£º
°ì·¨ 1£º½¨Éè»ù´¡Îļþϵͳ
Ê×ÏÈ£¬ÄúÐèÒª½¨ÉèÒ»¸ö»ù´¡Îļþϵͳ£¬Ëü½«°üÀ¨ÄúµÄ»ù´¡¾µÏñÖеÄÎļþºÍĿ¼¡£Äú¿ÉÒÔÖØÐÂ×îÏȽ¨É裬Ҳ¿ÉÒÔʹÓà Dockerfile FROM ÏÂÁî´ÓÏÖÓоµÏñ×îÏÈ¡£
ÀýÈ磬ÒÔÏ Dockerfile ½«½¨ÉèÒ»¸ö»ùÓÚ Ubuntu 20.04 ²Ù×÷ϵͳµÄ»ù´¡¾µÏñ£º
FROM ubuntu:20.04
µÇ¼ºó¸´ÖÆ
°ì·¨ 2£º×°Öñر¸Èí¼þ
½ÓÏÂÀ´£¬ÄúÐèҪװÖûù´¡¾µÏñËùÐèµÄÈκÎÈí¼þ°ü¡£Äú¿ÉÒÔʹÓà Dockerfile RUN ÏÂÁîÀ´Íê³É´Ë²Ù×÷¡£
ÀýÈ磬ÒÔÏ RUN ÏÂÁװÖà Python 3 ºÍ Pip °ü¹ÜÀíÆ÷£º
RUN apt-get update && apt-get install -y python3-pip
µÇ¼ºó¸´ÖÆ
°ì·¨ 3£º½¨ÉèÓû§ºÍ×飨¿ÉÑ¡£©
ÈôÊÇÄúÐèÒªÔÚ»ù´¡¾µÏñÖн¨ÉèÓû§ºÍ×飬¿ÉÒÔʹÓà USER ºÍ GROUP Dockerfile Ö¸Áî¡£
ÀýÈ磬ÒÔÏÂÖ¸Á½¨ÉèÃûΪ “appuser” µÄÓû§²¢½«ÆäÌí¼Óµ½ÃûΪ “appgroup” µÄ×éÖУº
USER appuser GROUP appgroup
µÇ¼ºó¸´ÖÆ
°ì·¨ 4£ºÉèÖÃÊÂÇéĿ¼£¨¿ÉÑ¡£©
ÈôÊÇÄúÏ£Íû½«»ù´¡¾µÏñµÄÊÂÇéĿ¼ÉèÖÃΪÌض¨Ä¿Â¼£¬¿ÉÒÔʹÓà WORKDIR Dockerfile Ö¸Áî¡£
ÀýÈ磬ÒÔÏÂÖ¸Á½«ÊÂÇéĿ¼ÉèÖÃΪ “/app” Ŀ¼£º
WORKDIR /app
µÇ¼ºó¸´ÖÆ
°ì·¨ 5£ºÉèÖÃÇéÐαäÁ¿£¨¿ÉÑ¡£©
ÈôÊÇÄúÐèÒªÉèÖÃÇéÐαäÁ¿£¬¿ÉÒÔʹÓà ENV Dockerfile Ö¸Áî¡£
ÀýÈ磬ÒÔÏÂÖ¸ÁÉèÖÃÃûΪ “MY_VARIABLE” µÄÇéÐαäÁ¿µÄֵΪ “Hello World”£º
ENV MY_VARIABLE="Hello World"
µÇ¼ºó¸´ÖÆ
°ì·¨ 6£ºÌá½»¾µÏñ
Íê³É»ù´¡¾µÏñºó£¬¿ÉÒÔʹÓÃÒÔÏÂÏÂÁÆäÌá½»µ½ÍâµØ Docker ¿ÍÕ»£º
docker commit -m "ÎҵĻù´¡¾µÏñ"
µÇ¼ºó¸´ÖÆ
ÆäÖУº
Êǽ¨Éè¾µÏñµÄ»ù´¡ÈÝÆ÷µÄ ID¡£
ÊÇÄúÏ£Íû¸¶Óë»ù´¡¾µÏñµÄÃû³Æ¡£
Ìá½»¾µÏñºó£¬Äú¿ÉÒÔÔÚ Docker ¿ÍÕ»ÖÐÕÒµ½Ëü²¢½«ÆäÓÃ×÷¹¹½¨¸üÖØ´ó¾µÏñµÄ»ù´¡¡£
ÒÔÉϾÍÊÇdockerÔõô½¨Éè»ù´¡¾µÏñµÄÏêϸÄÚÈÝ£¬¸ü¶àÇë¹Ø×¢±¾ÍøÄÚÆäËüÏà¹ØÎÄÕ£¡