ÔõÑùÔÚLinuxÉÏ°²ÅŸ߿ÉÓõÄÈÝÆ÷»¯Ó¦ÓÃ
ÔõÑùÔÚlinuxÉÏ°²ÅŸ߿ÉÓõÄÈÝÆ÷»¯Ó¦ÓÃ
¼ò½é£º
ÔÚµ±½ñ»¥ÁªÍøʱ´ú£¬Ó¦ÓóÌÐòµÄ¸ß¿ÉÓÃÐÔ±äµÃÔ½À´Ô½Ö÷Òª¡£ÈÝÆ÷»¯ÊÖÒյĿìËÙÉú³¤Ê¹µÃÔÚ°²ÅÅÓ¦ÓóÌÐòʱÄܹ»¸üÇáËɵØʵÏָ߿ÉÓÃÐÔ¡£±¾ÎĽ«Ö¸µ¼ÄãÔõÑùÔÚlinuxÉÏ°²ÅŸ߿ÉÓõÄÈÝÆ÷»¯Ó¦Ó㬲¢ÌṩÏà¹ØµÄ´úÂëʾÀý¡£
×°ÖÃDocker
Òª°²ÅÅÈÝÆ÷»¯Ó¦Óã¬Ê×ÏÈÐèҪװÖÃDocker¡£DockerÊÇÒ»¸ö¿ªÔ´µÄÈÝÆ÷ÒýÇ棬Äܹ»×ÊÖú¿ª·¢ÕßÇáËɽ¨Éè¡¢°²ÅźÍÔËÐÐÓ¦ÓóÌÐò¡£
Ê×ÏÈ£¬Ê¹ÓÃÒÔÏÂÏÂÁî¸üÐÂϵͳÈí¼þ°ü£º
sudo apt-get update
µÇ¼ºó¸´ÖÆ
È»ºó£¬Ê¹ÓÃÒÔÏÂÏÂÁî×°ÖÃDocker£º
sudo apt-get install docker-ce
µÇ¼ºó¸´ÖÆ
×°ÖÃÍê³Éºó£¬¿ÉÒÔʹÓÃÒÔÏÂÏÂÁîÑé֤װÖÃÊÇ·ñÀֳɣº
docker version
µÇ¼ºó¸´ÖÆ
±àдDockerfile
DockerfileÊÇÒ»¸öÎı¾Îļþ£¬ÆäÖаüÀ¨ÁËһϵÁÐÏÂÁîºÍÖ¸ÁÓÃÓÚ×Ô¶¯»¯¹¹½¨Docker¾µÏñ¡£ÔÚ°²ÅŸ߿ÉÓõÄÈÝÆ÷»¯Ó¦ÓÃʱ£¬ÄãÐèÒª±àдһ¸öDockerfileÀ´½ç˵ÈÝÆ÷µÄÇéÐκÍÉèÖÃÏî¡£
ÒÔÏÂÊÇÒ»¸öʾÀýµÄDockerfile£º
FROM ubuntu:latest RUN apt-get update && apt-get install -y nginx COPY index.html /var/www/html EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]
µÇ¼ºó¸´ÖÆ
¸ÃDockerfileʹÓÃ×îа汾µÄUbuntu×÷Ϊ»ù´¡¾µÏñ£¬×°ÖÃÁËnginx²¢½«index.htmlÎļþ¸´ÖƵ½Á˶ÔÓ¦µÄĿ¼ÖС£×îºó£¬Ì»Â¶ÁËÈÝÆ÷µÄ80¶Ë¿Ú²¢Æô¶¯ÁËnginx¡£
¹¹½¨Docker¾µÏñ
ÔÚ±àдÍêDockerfileºó£¬ÒªÊ¹ÓøÃÎļþ¹¹½¨Docker¾µÏñ¡£½øÈëDockerfileËùÔÚĿ¼£¬Ê¹ÓÃÒÔÏÂÏÂÁî¹¹½¨¾µÏñ£º
docker build -t myapp .
µÇ¼ºó¸´ÖÆ
¸ÃÏÂÁî»á½«DockerfileËùÔÚĿ¼µÄÄÚÈÝ´ò°ü²¢¹¹½¨³ÉÒ»¸öÃûΪmyappµÄ¾µÏñ¡£
½¨ÉèDockerÈÝÆ÷
ÏÖÔÚÄã¿ÉÒÔʹÓÃÉÏÒ»²½Öй¹½¨ºÃµÄ¾µÏñÀ´½¨ÉèÒ»¸öDockerÈÝÆ÷¡£Ê¹ÓÃÒÔÏÂÏÂÁÉèÈÝÆ÷£º
docker run -d --name myapp_container -p 80:80 myapp
µÇ¼ºó¸´ÖÆ
¸ÃÏÂÁî»áÒÔºǫ́·½·¨ÔËÐÐÃûΪmyapp_containerµÄÈÝÆ÷£¬²¢½«ÈÝÆ÷µÄ80¶Ë¿ÚÓ³Éäµ½Ö÷»úµÄ80¶Ë¿Ú¡£ÕâÑù£¬ÔÚä¯ÀÀÆ÷Öлá¼ûhttp://localhost¼´¿É¿´µ½Ó¦ÓóÌÐòÔËÐеÄЧ¹û¡£
ÉèÖø߿ÉÓÃÐÔ
ҪʵÏָ߿ÉÓõÄÈÝÆ÷»¯Ó¦Ó㬿ÉÒÔʹÓÃÈÝÆ÷±àÅŹ¤¾ßÀ´ÖÎÀí¶à¸öÈÝÆ÷µÄÔËÐС£ÔÚÕâÀÎÒÃǽ«Ê¹ÓÃDocker SwarmÀ´½¨ÉèÒ»¸öÈÝÆ÷¼¯Èº£¬²¢Ê¹ÓÃnginx×÷Ϊ¸ºÔØƽºâÆ÷¡£
Ê×ÏÈ£¬³õʼ»¯Docker Swarm£º
docker swarm init
µÇ¼ºó¸´ÖÆ
È»ºó£¬¼ÓÈëÆäËû½Úµãµ½Swarm¼¯Èº£¬¼ÙÉèÓÐÈý¸ö½Úµã£º
docker swarm join --token <token> <ip>:<port>
µÇ¼ºó¸´ÖÆ
½¨ÉèÒ»¸öÃûΪmynginxµÄЧÀÍ£¬²¢ÉèÖø±±¾ÊýΪ3£º
docker service create --name mynginx --replicas 3 -p 80:80 nginx
µÇ¼ºó¸´ÖÆ
ÕâÑù£¬Docker Swarm½«×Ô¶¯ÔÚ¼¯ÈºÖеĽڵãÉϽ¨ÉèºÍÖÎÀíÈý¸önginxÈÝÆ÷£¬²¢Ê¹ÓÃnginx×÷Ϊ¸ºÔØƽºâÆ÷¾ÙÐÐÁ÷Á¿·Ö·¢¡£
½áÂÛ£º
±¾ÎÄÏÈÈÝÁËÔÚLinuxÉÏ°²ÅŸ߿ÉÓõÄÈÝÆ÷»¯Ó¦Óõİ취£¬²¢ÌṩÁËÏà¹Ø´úÂëʾÀý¡£Í¨¹ýʹÓÃDockerºÍDocker Swarm£¬Äã¿ÉÒÔÇáËɵؽ¨ÉèºÍÖÎÀíÈÝÆ÷¼¯Èº£¬²¢ÊµÏÖÓ¦ÓóÌÐòµÄ¸ß¿ÉÓÃÐÔ¡£Ï£ÍûÕâЩָµ¼Äܹ»×ÊÖúÄã¸üºÃµØÃ÷È·ºÍÓ¦ÓÃÈÝÆ÷»¯ÊÖÒÕ¡£
ÒÔÉϾÍÊÇÔõÑùÔÚLinuxÉÏ°²ÅŸ߿ÉÓõÄÈÝÆ÷»¯Ó¦ÓõÄÏêϸÄÚÈÝ£¬¸ü¶àÇë¹Ø×¢±¾ÍøÄÚÆäËüÏà¹ØÎÄÕ£¡