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

1Ôª 10Ôª 50Ôª





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



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
Docker ΢·þÎñ½Ì³Ì(´î½¨ÕæÕýµÄÍøÕ¾£©
 
  2355  次浏览      29
 2019-8-15
 
±à¼­ÍƼö:
±¾ÎÄÀ´×ÔÓÚcnblogs£¬½éÉÜÁËÈçºÎÔÚһ̨¼ÆËã»úÉÏʵÏÖ¶à¸ö·þÎñ£¬ÈÃËüÃÇ»¥ÏàÅäºÏ£¬×éºÏ³öÒ»¸öÓ¦ÓóÌÐòµÄÏà¹ØÄÚÈÝ¡£

Docker ÊÇÒ»¸öÈÝÆ÷¹¤¾ß£¬ÌṩÐéÄâ»·¾³¡£ºÜ¶àÈËÈÏΪ£¬Ëü¸Ä±äÁËÎÒÃǶÔÈí¼þµÄÈÏʶ¡£

Õ¾ÔÚ Docker µÄ½Ç¶È£¬Èí¼þ¾ÍÊÇÈÝÆ÷µÄ×éºÏ£ºÒµÎñÂß¼­ÈÝÆ÷¡¢Êý¾Ý¿âÈÝÆ÷¡¢´¢´æÈÝÆ÷¡¢¶ÓÁÐÈÝÆ÷......Docker ʹµÃÈí¼þ¿ÉÒÔ²ð·Ö³ÉÈô¸É¸ö±ê×¼»¯ÈÝÆ÷£¬È»ºóÏñ´î»ýľһÑù×éºÏÆðÀ´¡£

ÕâÕýÊÇ΢·þÎñ£¨microservices£©µÄ˼Ï룺Èí¼þ°ÑÈÎÎñÍâ°ü³öÈ¥£¬Èø÷ÖÖÍⲿ·þÎñÍê³ÉÕâЩÈÎÎñ£¬Èí¼þ±¾ÉíÖ»Êǵײã·þÎñµÄµ÷¶ÈÖÐÐĺÍ×é×°²ã¡£

΢·þÎñºÜÊʺÏÓà Docker ÈÝÆ÷ʵÏÖ£¬Ã¿¸öÈÝÆ÷³ÐÔØÒ»¸ö·þÎñ¡£Ò»Ì¨¼ÆËã»úͬʱÔËÐжà¸öÈÝÆ÷£¬´Ó¶ø¾ÍÄܺÜÇáËɵØÄ£Äâ³ö¸´ÔÓµÄ΢·þÎñ¼Ü¹¹¡£

֮ǰ½éÉÜÁË Docker µÄ¸ÅÄîºÍ»ù±¾Ó÷¨£¬±¾ÎĽÓ×ÅÍùϽéÉÜ£¬ÈçºÎÔÚһ̨¼ÆËã»úÉÏʵÏÖ¶à¸ö·þÎñ£¬ÈÃËüÃÇ»¥ÏàÅäºÏ£¬×éºÏ³öÒ»¸öÓ¦ÓóÌÐò¡£

ÎÒÑ¡ÔñµÄʾÀýÈí¼þÊÇ WordPress¡£ËüÊÇÒ»¸ö³£ÓÃÈí¼þ£¬È«ÊÀ½çÓû§¾Ý˵³¬¹ý¼¸Ç§Íò¡£Í¬Ê±ËüÓַdz£¼òµ¥£¬Ö»ÒªÁ½¸öÈÝÆ÷¾Í¹»ÁË£¨ÒµÎñÈÝÆ÷ + Êý¾Ý¿âÈÝÆ÷£©£¬ºÜÊʺϽÌѧ¡£¶øÇÒ£¬ÕâÖÖ"ÒµÎñ + Êý¾Ý¿â"µÄÈÝÆ÷¼Ü¹¹£¬¾ßÓÐͨÓÃÐÔ£¬Ðí¶àÓ¦ÓóÌÐò¶¼¿ÉÒÔ¸´Óá£

ΪÁ˼ÓÉî¶ÁÕßÀí½â£¬±¾ÎIJÉÓÃÈýÖÖ·½·¨£¬ÑÝʾÈçºÎ¼ÜÉè WordPress ÍøÕ¾¡£

·½·¨ A£º×Ô½¨ WordPress ÈÝÆ÷

·½·¨ B£º²ÉÓùٷ½µÄ WordPress ÈÝÆ÷

·½·¨ C£º²ÉÓà Docker Compose ¹¤¾ß

Ò»¡¢Ô¤±¸¹¤×÷£ºimage ²Ö¿âµÄ¾µÏñÍøÖ·

±¾½Ì³ÌÐèÒª´Ó²Ö¿âÏÂÔØ image Îļþ£¬µ«ÊǹúÄÚ·ÃÎÊ Docker µÄ¹Ù·½²Ö¿âºÜÂý£¬»¹¾­³£¶ÏÏߣ¬ËùÒÔÒª°Ñ²Ö¿âÍøÖ·¸Ä³É¹úÄڵľµÏñÕ¾¡£ÕâÀïÍÆ¼öʹÓùٷ½¾µÏñ registry.docker-cn.com ¡£ÏÂÃæÊÇÎÒµÄ Debian ϵͳµÄĬÈϲֿâÐ޸ķ½·¨£¬ÆäËûϵͳµÄÐ޸ķ½·¨²Î¿¼¹Ù·½Îĵµ¡£

´ò¿ª/etc/default/dockerÎļþ£¨ÐèÒªsudoȨÏÞ£©£¬ÔÚÎļþµÄµ×²¿¼ÓÉÏÒ»ÐС£

DOCKER_OPTS="--registry-mirror=https://registry.docker-cn.com"

È»ºó£¬ÖØÆô Docker ·þÎñ¡£

$ sudo service docker restart

ÏÖÔھͻá×Ô¶¯´Ó¾µÏñ²Ö¿âÏÂÔØ image ÎļþÁË¡£

¶þ¡¢·½·¨ A£º×Ô½¨ WordPress ÈÝÆ÷

Ç°ÃæËµ¹ý£¬±¾ÎÄ»áÓÃÈýÖÖ·½·¨ÑÝʾ WordPress µÄ°²×°¡£µÚÒ»ÖÖ·½·¨¾ÍÊÇ×Ô½¨ WordPress ÈÝÆ÷¡£

2.1 ¹Ù·½ µÄ PHP image

Ê×ÏÈ£¬Ð½¨Ò»¸ö¹¤×÷Ŀ¼£¬²¢½øÈë¸ÃĿ¼¡£

$ mkdir docker-demo && cd docker-demo

È»ºó£¬Ö´ÐÐÏÂÃæµÄÃüÁî¡£

$ docker container run \
--rm \
--name wordpress \
--volume "$PWD/":/var/www/html \
php:5.6-apache

ÉÏÃæµÄÃüÁî»ùÓÚphpµÄ image Îļþн¨Ò»¸öÈÝÆ÷£¬²¢ÇÒÔËÐиÃÈÝÆ÷¡£phpµÄ±êÇ©ÊÇ5.6-apache£¬ËµÃ÷×°µÄÊÇ PHP 5.6£¬²¢ÇÒ×Ô´ø Apache ·þÎñÆ÷¡£¸ÃÃüÁîµÄÈý¸ö²ÎÊýº¬ÒåÈçÏ¡£

--rm£ºÍ£Ö¹ÔËÐкó£¬×Ô¶¯É¾³ýÈÝÆ÷Îļþ¡£
--name wordpress£ºÈÝÆ÷µÄÃû×Ö½Ð×öwordpress¡£
--volume "$PWD/":/var/www/html£º½«µ±Ç°Ä¿Â¼£¨$PWD£©Ó³Éäµ½ÈÝÆ÷µÄ/var/www/html£¨Apache ¶ÔÍâ·ÃÎʵÄĬÈÏĿ¼£©¡£Òò´Ë£¬µ±Ç°Ä¿Â¼µÄÈκÎÐ޸쬶¼»á·´Ó³µ½ÈÝÆ÷ÀïÃæ£¬½ø¶ø±»Íⲿ·ÃÎʵ½¡£

ÔËÐÐÉÏÃæµÄÃüÁîÒÔºó£¬Èç¹ûÒ»ÇÐÕý³££¬ÃüÁîÐлáÌáʾÈÝÆ÷¶ÔÍâµÄ IP µØÖ·£¬Çë¼ÇÏÂÕâ¸öµØÖ·£¬ÎÒÃÇÒªÓÃËüÀ´·ÃÎÊÈÝÆ÷¡£ÎÒ·ÖÅäµ½µÄ IP µØÖ·ÊÇ 172.17.0.2¡£

´ò¿ªä¯ÀÀÆ÷£¬·ÃÎÊ 172.17.0.2£¬Äã»á¿´µ½ÏÂÃæµÄÌáʾ¡£

Forbidden
You don't have permission to access / on this server.

ÕâÊÇÒòΪÈÝÆ÷µÄ/var/www/htmlĿ¼£¨Ò²¾ÍÊDZ¾»úµÄdocker-demoĿ¼£©ÏÂÃæÊ²Ã´Ò²Ã»ÓУ¬ÎÞ·¨Ìṩ¿ÉÒÔ·ÃÎʵÄÄÚÈÝ¡£

ÇëÔÚ±¾»úµÄdocker-demoĿ¼ÏÂÃæ£¬Ìí¼ÓÒ»¸ö×î¼òµ¥µÄ PHP Îļþindex.php¡£

<?php
phpinfo();
?>

±£´æÒÔºó£¬ä¯ÀÀÆ÷Ë¢ÐÂ172.17.0.2£¬Ó¦¸Ã¾Í»á¿´µ½ÊìϤµÄphpinfoÒ³ÃæÁË¡£

2.2 ¿½±´ WordPress °²×°°ü

¼ÈÈ»±¾µØµÄdocker-demoĿ¼¿ÉÒÔÓ³Éäµ½ÈÝÆ÷ÀïÃæ£¬ÄÇô°Ñ WordPress °²×°°ü¿½±´µ½docker-demoĿ¼Ï£¬²»¾Í¿ÉÒÔͨ¹ýÈÝÆ÷·ÃÎʵ½ WordPress µÄ°²×°½çÃæÁËÂð£¿

Ê×ÏÈ£¬ÔÚdocker-demoĿ¼Ï£¬Ö´ÐÐÏÂÃæµÄÃüÁץȡ²¢½âѹ WordPress °²×°°ü¡£

$ wget https://cn.wordpress.org/wordpress-4.9.4-zh_CN.tar.gz
$ tar -xvf wordpress-4.9.4-zh_CN.tar.gz

½âѹÒÔºó£¬WordPress µÄ°²×°Îļþ»áÔÚdocker-demo/wordpressĿ¼Ï¡£

Õâʱä¯ÀÀÆ÷·ÃÎÊhttp://172.17.0.2/wordpress£¬¾ÍÄÜ¿´µ½ WordPress µÄ°²×°ÌáʾÁË¡£

2.3 ¹Ù·½µÄ MySQL ÈÝÆ÷

WordPress ±ØÐëÓÐÊý¾Ý¿â²ÅÄܰ²×°£¬ËùÒÔ±ØÐëн¨ MySQL ÈÝÆ÷¡£

´ò¿ªÒ»¸öеÄÃüÁîÐд°¿Ú£¬Ö´ÐÐÏÂÃæµÄÃüÁî¡£

$ docker container run \
-d \
--rm \
--name wordpressdb \
--env MYSQL_ROOT_PASSWORD=123456 \
--env MYSQL_DATABASE=wordpress \
mysql:5.7

ÉÏÃæµÄÃüÁî»á»ùÓÚ MySQL µÄ image Îļþ£¨5.7°æ±¾£©Ð½¨Ò»¸öÈÝÆ÷¡£¸ÃÃüÁîµÄÎå¸öÃüÁîÐвÎÊýµÄº¬ÒåÈçÏ¡£

-d£ºÈÝÆ÷Æô¶¯ºó£¬ÔÚºǫ́ÔËÐС£
--rm£ºÈÝÆ÷ÖÕÖ¹ÔËÐкó£¬×Ô¶¯É¾³ýÈÝÆ÷Îļþ¡£
--name wordpressdb£ºÈÝÆ÷µÄÃû×Ö½Ð×öwordpressdb
--env MYSQL_ROOT_PASSWORD=123456£ºÏòÈÝÆ÷½ø³Ì´«ÈëÒ»¸ö»·¾³±äÁ¿MYSQL_ROOT_PASSWORD£¬¸Ã±äÁ¿»á±»ÓÃ×÷ MySQL µÄ¸ùÃÜÂë¡£
--env MYSQL_DATABASE=wordpress£ºÏòÈÝÆ÷½ø³Ì´«ÈëÒ»¸ö»·¾³±äÁ¿MYSQL_DATABASE£¬ÈÝÆ÷ÀïÃæµÄ MySQL »á¸ù¾Ý¸Ã±äÁ¿´´½¨Ò»¸öͬÃûÊý¾Ý¿â£¨±¾ÀýÊÇWordPress£©¡£

ÔËÐÐÉÏÃæµÄÃüÁîÒÔºó£¬Õý³£Çé¿öÏ£¬ÃüÁîÐлáÏÔʾһÐÐ×Ö·û´®£¬ÕâÊÇÈÝÆ÷µÄ ID£¬±íʾÒѾ­Ð½¨³É¹¦ÁË¡£

Õâʱ£¬Ê¹ÓÃÏÂÃæµÄÃüÁî²é¿´ÕýÔÚÔËÐеÄÈÝÆ÷£¬ÄãÓ¦¸Ã¿´µ½wordpressºÍwordpressdbÁ½¸öÈÝÆ÷ÕýÔÚÔËÐС£

$ docker container ls

ÆäÖУ¬wordpressdbÊǺǫ́ÔËÐеģ¬Ç°Ì¨¿´²»¼ûËüµÄÊä³ö£¬±ØÐëʹÓÃÏÂÃæµÄÃüÁî²é¿´¡£

$ docker container logs wordpressdb

2.4 ¶¨ÖÆ PHP ÈÝÆ÷

ÏÖÔÚ WordPress ÈÝÆ÷ºÍ MySQL ÈÝÆ÷¶¼ÒѾ­ÓÐÁË¡£½ÓÏÂÀ´£¬Òª°Ñ WordPress ÈÝÆ÷Á¬½Óµ½ MySQL ÈÝÆ÷ÁË¡£µ«ÊÇ£¬PHP µÄ¹Ù·½ image ²»´øÓÐmysqlÀ©Õ¹£¬±ØÐë×Ô¼ºÐ½¨ image Îļþ¡£

Ê×ÏÈ£¬Í£µô WordPress ÈÝÆ÷¡£

$ docker container stop wordpress

Í£µôÒÔºó£¬ÓÉÓÚ--rm²ÎÊýµÄ×÷Ó㬸ÃÈÝÆ÷Îļþ»á±»×Ô¶¯É¾³ý¡£

È»ºó£¬ÔÚdocker-demoĿ¼ÀïÃæ£¬Ð½¨Ò»¸öDockerfileÎļþ£¬Ð´ÈëÏÂÃæµÄÄÚÈÝ¡£

FROM php:5.6-apache
RUN docker-php-ext-install mysqli
CMD apache2-foreground

ÉÏÃæ´úÂëµÄÒâ˼£¬¾ÍÊÇÔÚÔ­À´ PHP µÄ image »ù´¡ÉÏ£¬°²×°mysqliµÄÀ©Õ¹¡£È»ºó£¬Æô¶¯ Apache¡£

»ùÓÚÕâ¸ö Dockerfile Îļþ£¬Ð½¨Ò»¸öÃûΪphpwithmysqlµÄ image Îļþ¡£

$ docker build -t phpwithmysql .

2.5 Wordpress ÈÝÆ÷Á¬½Ó MySQL

ÏÖÔÚ»ùÓÚ phpwithmysql image£¬ÖØÐÂн¨Ò»¸ö WordPress ÈÝÆ÷¡£

$ docker container run \
--rm \
--name wordpress \
--volume "$PWD/":/var/www/html \
--link wordpressdb:mysql \
phpwithmysql

¸úÉÏÒ»´ÎÏà±È£¬ÉÏÃæµÄÃüÁî¶àÁËÒ»¸ö²ÎÊý--link wordpressdb:mysql£¬±íʾ WordPress ÈÝÆ÷ÒªÁ¬µ½wordpressdbÈÝÆ÷£¬Ã°ºÅ±íʾ¸ÃÈÝÆ÷µÄ±ðÃûÊÇmysql¡£

Õâʱ»¹Òª¸ÄÒ»ÏÂwordpressĿ¼µÄȨÏÞ£¬ÈÃÈÝÆ÷¿ÉÒÔ½«ÅäÖÃÐÅϢдÈëÕâ¸öĿ¼£¨ÈÝÆ÷ÄÚ²¿Ð´ÈëµÄ/var/www/htmlĿ¼£¬»áÓ³Éäµ½Õâ¸öĿ¼£©¡£

$ chmod -R 777 wordpress

½Ó×Å£¬»Øµ½ä¯ÀÀÆ÷µÄhttp://172.17.0.2/wordpressÒ³Ãæ£¬µã»÷"ÏÖÔھͿªÊ¼£¡"°´Å¥£¬¿ªÊ¼°²×°¡£

WordPress ÌáʾҪÊäÈëÊý¾Ý¿â²ÎÊý¡£ÊäÈëµÄ²ÎÊýÈçÏ¡£

Êý¾Ý¿âÃû£ºwordpress

Óû§Ãû£ºroot

ÃÜÂ룺123456

Êý¾Ý¿âÖ÷»ú£ºmysql

±íǰ׺£ºwp_£¨²»±ä£©

µã»÷"ÏÂÒ»²½"°´Å¥£¬Èç¹û Wordpress Á¬½ÓÊý¾Ý¿â³É¹¦£¬¾Í»á³öÏÖÏÂÃæµÄÒ³Ãæ£¬Õâ¾Í±íʾ¿ÉÒÔ°²×°ÁË¡£

ÖÁ´Ë£¬×Ô½¨ WordPress ÈÝÆ÷µÄÑÝʾÍê±Ï£¬¿ÉÒÔ°ÑÕýÔÚÔËÐеÄÁ½¸öÈÝÆ÷¹Ø±ÕÁË£¨ÈÝÆ÷Îļþ»á×Ô¶¯É¾³ý£©¡£

$ docker container stop wordpress wordpressdb

Èý¡¢·½·¨ B£ºWordpress ¹Ù·½¾µÏñ

ÉÏÒ»²¿·ÖµÄ×Ô½¨ WordPress ÈÝÆ÷£¬»¹ÊÇͦÂé·³µÄ¡£Æäʵ²»ÓÃÕâôÂé·³£¬Docker ÒѾ­ÌṩÁ˹ٷ½ WordPress image£¬Ö±½ÓÓÃÄǸö¾Í¿ÉÒÔÁË¡£ÓÐÁËÉÏÒ»²¿·ÖµÄ»ù´¡£¬ÏÂÃæµÄ²Ù×÷¾ÍºÜÈÝÒ×Àí½âÁË¡£

3.1 »ù±¾Ó÷¨

Ê×ÏÈ£¬Ð½¨²¢Æô¶¯ MySQL ÈÝÆ÷¡£

$ docker container run \
-d \
--rm \
--name wordpressdb \
--env MYSQL_ROOT_PASSWORD=123456 \
--env MYSQL_DATABASE=wordpress \
mysql:5.7

È»ºó£¬»ùÓÚ¹Ù·½µÄ WordPress image£¬Ð½¨²¢Æô¶¯ WordPress ÈÝÆ÷¡£

$ docker container run \
-d \
--rm \
--name wordpress \
--env WORDPRESS_DB_PASSWORD=123456 \
--link wordpressdb:mysql \
wordpress

ÉÏÃæÃüÁîÖУ¬¸÷¸ö²ÎÊýµÄº¬ÒåÇ°Ãæ¶¼½âÊ͹ýÁË£¬ÆäÖл·¾³±äÁ¿WORDPRESS_DB_PASSWORDÊÇ MySQL ÈÝÆ÷µÄ¸ùÃÜÂë¡£

ÉÏÃæÃüÁîÖ¸¶¨wordpressÈÝÆ÷ÔÚºǫ́ÔËÐУ¬µ¼ÖÂǰ̨¿´²»¼ûÊä³ö£¬Ê¹ÓÃÏÂÃæµÄÃüÁî²é³öwordpressÈÝÆ÷µÄ IP µØÖ·¡£

$ docker container inspect wordpress

ÉÏÃæÃüÁîÔËÐÐÒԺ󣬻áÊä³öºÜ¶àÄÚÈÝ£¬ÕÒµ½IPAddress×ֶμ´¿É¡£ÎҵĻúÆ÷·µ»ØµÄ IP µØÖ·ÊÇ172.17.0.3¡£

ä¯ÀÀÆ÷·ÃÎÊ172.17.0.3£¬¾Í»á¿´µ½ WordPress µÄ°²×°Ìáʾ¡£

3.2 WordPress ÈÝÆ÷µÄ¶¨ÖÆ

µ½ÁËÉÏÒ»²½£¬¹Ù·½ WordPress ÈÝÆ÷µÄ°²×°¾ÍÒѾ­³É¹¦ÁË¡£µ«ÊÇ£¬ÕâÖÖ·½·¨ÓÐÁ½¸öºÜ²»·½±ãµÄµØ·½¡£

ÿ´Îн¨ÈÝÆ÷£¬·µ»ØµÄ IP µØÖ·²»Äܱ£Ö¤Ïàͬ£¬µ¼ÖÂÒª¸ü»» IP µØÖ··ÃÎÊ WordPress¡£

WordPress °²×°ÔÚÈÝÆ÷ÀïÃæ£¬±¾µØÎÞ·¨ÐÞ¸ÄÎļþ¡£

½â¾öÕâÁ½¸öÎÊÌâºÜÈÝÒ×£¬Ö»ÒªÐ½¨ÈÝÆ÷µÄʱºò£¬¼ÓÁ½¸öÃüÁîÐвÎÊý¾Í¿ÉÒÔÁË¡£

ÏÈ°Ñ¸Õ²ÅÆô¶¯µÄ WordPress ÈÝÆ÷ÖÕÖ¹£¨ÈÝÆ÷Îļþ»á×Ô¶¯É¾³ý£©¡£

$ docker container stop wordpress

È»ºó£¬Ê¹ÓÃÏÂÃæµÄÃüÁîн¨²¢Æô¶¯ WordPress ÈÝÆ÷¡£

$ docker container run \
-d \
-p 127.0.0.2:8080:80 \
--rm \
--name wordpress \
--env WORDPRESS_DB_PASSWORD=123456 \
--link wordpressdb:mysql \
--volume "$PWD/wordpress":/var/www/html \
wordpress

ÉÏÃæµÄÃüÁî¸úÇ°ÃæÏà±È£¬ÃüÁîÐвÎÊýÖ»¶à³öÁËÁ½¸ö¡£

-p 127.0.0.2:8080:80£º½«ÈÝÆ÷µÄ 80 ¶Ë¿ÚÓ³Éäµ½127.0.0.2µÄ8080¶Ë¿Ú¡£
--volume "$PWD/wordpress":/var/www/html£º½«ÈÝÆ÷µÄ/var/www/htmlĿ¼ӳÉäµ½µ±Ç°Ä¿Â¼µÄwordpress×ÓĿ¼¡£

ä¯ÀÀÆ÷·ÃÎÊ127.0.0.2:8080:80¾ÍÄÜ¿´µ½ WordPress µÄ°²×°ÌáʾÁË¡£¶øÇÒ£¬ÄãÔÚwordpress×ÓĿ¼ÏµÄÿ´ÎÐ޸쬶¼»á·´Ó³µ½ÈÝÆ÷ÀïÃæ¡£

×îºó£¬ÖÕÖ¹ÕâÁ½¸öÈÝÆ÷£¨ÈÝÆ÷Îļþ»á×Ô¶¯É¾³ý£©¡£

$ docker container stop wordpress wordpressdb

ËÄ¡¢·½·¨ C£ºDocker Compose ¹¤¾ß

ÉÏÃæµÄ·½·¨ B ÒѾ­Í¦¼òµ¥ÁË£¬µ«ÊDZØÐë×Ô¼º·Ö±ðÆô¶¯Á½¸öÈÝÆ÷£¬Æô¶¯µÄʱºò£¬»¹ÒªÔÚÃüÁîÐÐÌṩÈÝÆ÷Ö®¼äµÄÁ¬½ÓÐÅÏ¢¡£Òò´Ë£¬Docker ÌṩÁËÒ»ÖÖ¸ü¼òµ¥µÄ·½·¨£¬À´¹ÜÀí¶à¸öÈÝÆ÷µÄÁª¶¯¡£

4.1 Docker Compose ¼ò½é

Compose ÊÇ Docker ¹«Ë¾ÍƳöµÄÒ»¸ö¹¤¾ßÈí¼þ£¬¿ÉÒÔ¹ÜÀí¶à¸ö Docker ÈÝÆ÷×é³ÉÒ»¸öÓ¦Óá£ÄãÐèÒª¶¨ÒåÒ»¸ö YAML ¸ñʽµÄÅäÖÃÎļþdocker-compose.yml£¬Ð´ºÃ¶à¸öÈÝÆ÷Ö®¼äµÄµ÷ÓùØÏµ¡£È»ºó£¬Ö»ÒªÒ»¸öÃüÁ¾ÍÄÜͬʱÆô¶¯/¹Ø±ÕÕâЩÈÝÆ÷¡£

# Æô¶¯ËùÓзþÎñ
$ docker-compose up
# ¹Ø±ÕËùÓзþÎñ
$ docker-compose stop

4.2 Docker Compose µÄ°²×°

Mac ºÍ Windows ÔÚ°²×° docker µÄʱºò£¬»áÒ»Æð°²×° docker compose¡£Linux ϵͳϵݲװ²Î¿¼¹Ù·½Îĵµ¡£

°²×°Íê³Éºó£¬ÔËÐÐÏÂÃæµÄÃüÁî¡£

$ docker-compose --version

4.3 WordPress ʾÀý

ÔÚdocker-demoĿ¼Ï£¬Ð½¨docker-compose.ymlÎļþ£¬Ð´ÈëÏÂÃæµÄÄÚÈÝ¡£

mysql:
image: mysql:5.7
environment:
- MYSQL_ROOT_PASSWORD=123456
- MYSQL_DATABASE=wordpress
web:
image: wordpress
links:
- mysql
environment:
- WORDPRESS_DB_PASSWORD=123456
ports:
- "127.0.0.3:8080:80"
working_dir: /var/www/html
volumes:
- wordpress:/var/www/html

ÉÏÃæ´úÂëÖУ¬Á½¸ö¶¥²ã±êÇ©±íʾÓÐÁ½¸öÈÝÆ÷mysqlºÍweb¡£Ã¿¸öÈÝÆ÷µÄ¾ßÌåÉèÖã¬Ç°Ãæ¶¼ÒѾ­½²½â¹ýÁË£¬»¹ÊÇͦÈÝÒ×Àí½âµÄ¡£

Æô¶¯Á½¸öÈÝÆ÷¡£

$ docker-compose up

ä¯ÀÀÆ÷·ÃÎÊ http://127.0.0.3:8080£¬Ó¦¸Ã¾ÍÄÜ¿´µ½ WordPress µÄ°²×°½çÃæ¡£

ÏÖÔڹرÕÁ½¸öÈÝÆ÷¡£

$ docker-compose stop

¹Ø±ÕÒÔºó£¬ÕâÁ½¸öÈÝÆ÷Îļþ»¹ÊÇ´æÔڵģ¬Ð´ÔÚÀïÃæµÄÊý¾Ý²»»á¶ªÊ§¡£ÏÂ´ÎÆô¶¯µÄʱºò£¬»¹¿ÉÒÔ¸´Óá£ÏÂÃæµÄÃüÁî¿ÉÒÔ°ÑÕâÁ½¸öÈÝÆ÷Îļþɾ³ý£¨ÈÝÆ÷±ØÐëÒѾ­Í£Ö¹ÔËÐУ©¡£

$ docker-compose rm
   
2355 ´Îä¯ÀÀ       29
Ïà¹ØÎÄÕÂ

ÆóÒµ¼Ü¹¹¡¢TOGAFÓëArchiMate¸ÅÀÀ
¼Ü¹¹Ê¦Ö®Â·-ÈçºÎ×öºÃÒµÎñ½¨Ä££¿
´óÐÍÍøÕ¾µçÉÌÍøÕ¾¼Ü¹¹°¸ÀýºÍ¼¼Êõ¼Ü¹¹µÄʾÀý
ÍêÕûµÄArchimateÊÓµãÖ¸ÄÏ£¨°üÀ¨Ê¾Àý£©
Ïà¹ØÎĵµ

Êý¾ÝÖÐ̨¼¼Êõ¼Ü¹¹·½·¨ÂÛÓëʵ¼ù
ÊÊÓÃArchiMate¡¢EA ºÍ iSpace½øÐÐÆóÒµ¼Ü¹¹½¨Ä£
ZachmanÆóÒµ¼Ü¹¹¿ò¼Ü¼ò½é
ÆóÒµ¼Ü¹¹ÈÃSOAÂ䵨
Ïà¹Ø¿Î³Ì

ÔÆÆ½Ì¨Óë΢·þÎñ¼Ü¹¹Éè¼Æ
ÖÐ̨սÂÔ¡¢ÖÐ̨½¨ÉèÓëÊý×ÖÉÌÒµ
ÒÚ¼¶Óû§¸ß²¢·¢¡¢¸ß¿ÉÓÃϵͳ¼Ü¹¹
¸ß¿ÉÓ÷ֲ¼Ê½¼Ü¹¹Éè¼ÆÓëʵ¼ù