±à¼ÍƼö: |
±¾ÎÄÀ´×ÔÓÚ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¡£
±£´æÒÔºó£¬ä¯ÀÀÆ÷Ë¢ÐÂ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Á½¸öÈÝÆ÷ÕýÔÚÔËÐС£
ÆäÖУ¬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Ŀ¼£¬»áÓ³Éäµ½Õâ¸öĿ¼£©¡£
½Ó×Å£¬»Øµ½ä¯ÀÀÆ÷µÄ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¡£Ã¿¸öÈÝÆ÷µÄ¾ßÌåÉèÖã¬Ç°Ãæ¶¼ÒѾ½²½â¹ýÁË£¬»¹ÊÇͦÈÝÒ×Àí½âµÄ¡£
Æô¶¯Á½¸öÈÝÆ÷¡£
ä¯ÀÀÆ÷·ÃÎÊ http://127.0.0.3:8080£¬Ó¦¸Ã¾ÍÄÜ¿´µ½ WordPress µÄ°²×°½çÃæ¡£
ÏÖÔڹرÕÁ½¸öÈÝÆ÷¡£
¹Ø±ÕÒÔºó£¬ÕâÁ½¸öÈÝÆ÷Îļþ»¹ÊÇ´æÔڵģ¬Ð´ÔÚÀïÃæµÄÊý¾Ý²»»á¶ªÊ§¡£ÏÂ´ÎÆô¶¯µÄʱºò£¬»¹¿ÉÒÔ¸´Óá£ÏÂÃæµÄÃüÁî¿ÉÒÔ°ÑÕâÁ½¸öÈÝÆ÷Îļþɾ³ý£¨ÈÝÆ÷±ØÐëÒѾֹͣÔËÐУ©¡£
|