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

1Ôª 10Ôª 50Ôª





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



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
Ê®·ÖÖÓѧ»áÓÃdocker²¿Êð΢·þÎñ
 
  7150  次浏览      34
 2019-8-14
 
±à¼­ÍƼö:
±¾ÎÄÀ´×ÔÓÚoschina£¬½éÉÜÁËDockerµÄÓŵ㣬Docker¼Ü¹¹£¬ÒÔCentOSΪÀý½éÉÜDocker°²×°µÈÏà¹ØÄÚÈÝ¡£

2013Äê·¢²¼ÖÁ½ñ£¬ Docker Ò»Ö±¹ãÊÜÖõÄ¿£¬±»ÈÏΪ¿ÉÄÜ»á¸Ä±äÈí¼þÐÐÒµ¡£

µ«ÊÇ£¬Ðí¶àÈ˲¢²»Çå³þ Docker µ½µ×ÊÇʲô£¬Òª½â¾öʲôÎÊÌ⣬ºÃ´¦ÓÖÔÚÄÄÀ½ñÌì¾ÍÀ´Ïêϸ½âÊÍ£¬°ïÖú´ó¼ÒÀí½âËü£¬»¹´øÓмòµ¥Ò×¶®µÄʵÀý£¬½ÌÄãÈçºÎ½«ËüÓÃÓÚÈÕ³£¿ª·¢²¢ÓÃÆä²¿Êð΢·þÎñ¡£

Docker¼ò½é

DockerÊÇÒ»¸ö¿ªÔ´µÄÈÝÆ÷ÒýÇæ£¬ËüÓÐÖúÓÚ¸ü¿ìµØ½»¸¶Ó¦ÓᣠDocker¿É½«Ó¦ÓóÌÐòºÍ»ù´¡ÉèÊ©²ã¸ôÀ룬²¢ÇÒÄܽ«»ù´¡ÉèÊ©µ±×÷³ÌÐòÒ»Ñù½øÐйÜÀí¡£Ê¹Óà Docker¿É¸ü¿ìµØ´ò°ü¡¢²âÊÔÒÔ¼°²¿ÊðÓ¦ÓóÌÐò£¬²¢¿ÉÒÔËõ¶Ì´Ó±àдµ½²¿ÊðÔËÐдúÂëµÄÖÜÆÚ¡£

DockerµÄÓŵãÈçÏ£º

1¡¢¼ò»¯³ÌÐò

Docker Èÿª·¢Õß¿ÉÒÔ´ò°üËûÃǵÄÓ¦ÓÃÒÔ¼°ÒÀÀµ°üµ½Ò»¸ö¿ÉÒÆÖ²µÄÈÝÆ÷ÖУ¬È»ºó·¢²¼µ½ÈκÎÁ÷ÐÐµÄ Linux »úÆ÷ÉÏ£¬±ã¿ÉÒÔʵÏÖÐéÄ⻯¡£Docker¸Ä±äÁËÐéÄ⻯µÄ·½Ê½£¬Ê¹¿ª·¢Õß¿ÉÒÔÖ±½Ó½«×Ô¼ºµÄ³É¹û·ÅÈëDockerÖнøÐйÜÀí¡£·½±ã¿ì½ÝÒѾ­ÊÇ DockerµÄ×î´óÓÅÊÆ£¬¹ýÈ¥ÐèÒªÓÃÊýÌìÄËÖÁÊýÖÜµÄ ÈÎÎñ£¬ÔÚDockerÈÝÆ÷µÄ´¦ÀíÏ£¬Ö»ÐèÒªÊýÃë¾ÍÄÜÍê³É¡£

2¡¢±ÜÃâÑ¡Ôñ¿Ö¾åÖ¢

Èç¹ûÄãÓÐÑ¡Ôñ¿Ö¾åÖ¢£¬»¹ÊÇ×ÊÉÕß¡£Docker °ïÄã ´ò°üÄãµÄ¾À½á£¡±ÈÈç Docker ¾µÏñ£»Docker ¾µÏñÖаüº¬ÁËÔËÐл·¾³ºÍÅäÖã¬ËùÒÔ Docker ¿ÉÒÔ¼ò»¯²¿Êð¶àÖÖÓ¦ÓÃʵÀý¹¤×÷¡£±ÈÈç Web Ó¦Óᢺǫ́ӦÓá¢Êý¾Ý¿âÓ¦ÓᢴóÊý¾ÝÓ¦ÓñÈÈç Hadoop ¼¯Èº¡¢ÏûÏ¢¶ÓÁеȵȶ¼¿ÉÒÔ´ò°ü³ÉÒ»¸ö¾µÏñ²¿Êð¡£

3¡¢½ÚÊ¡¿ªÖ§

Ò»·½Ãæ£¬ÔÆ¼ÆËãʱ´úµ½À´£¬Ê¹¿ª·¢Õß²»±ØÎªÁË×·ÇóЧ¹û¶øÅäÖø߶îµÄÓ²¼þ£¬Docker ¸Ä±äÁ˸ßÐÔÄܱØÈ»¸ß¼Û¸ñµÄ˼ά¶¨ÊÆ¡£Docker ÓëÔÆµÄ½áºÏ£¬ÈÃÔÆ¿Õ¼äµÃµ½¸ü³ä·ÖµÄÀûÓᣲ»½ö½â¾öÁËÓ²¼þ¹ÜÀíµÄÎÊÌ⣬Ҳ¸Ä±äÁËÐéÄ⻯µÄ·½Ê½¡£

Docker¼Ü¹¹

Docker daemon£¨ DockerÊØ»¤½ø³Ì£©

Docker daemonÊÇÒ»¸öÔËÐÐÔÚËÞÖ÷»ú£¨ DOCKER-HOST£©µÄºǫ́½ø³Ì¡£¿Éͨ¹ý Docker¿Í»§¶ËÓë֮ͨÐÅ¡£

Client£¨ Docker¿Í»§¶Ë£©

Docker¿Í»§¶ËÊÇ DockerµÄÓû§½çÃæ£¬Ëü¿ÉÒÔ½ÓÊÜÓû§ÃüÁîºÍÅäÖñêʶ£¬²¢Óë Docker daemonͨÐÅ¡£Í¼ÖУ¬ docker buildµÈ¶¼ÊÇ DockerµÄÏà¹ØÃüÁî¡£

Images£¨ Docker¾µÏñ£©

Docker¾µÏñÊÇÒ»¸öÖ»¶ÁÄ£°å£¬Ëü°üº¬´´½¨ DockerÈÝÆ÷µÄ˵Ã÷¡£ËüºÍϵͳ°²×°¹âÅÌÓеãÏñ£¬Ê¹ÓÃϵͳ°²×°¹âÅÌ¿ÉÒÔ°²×°ÏµÍ³£¬Í¬Àí£¬Ê¹ÓÃDocker¾µÏñ¿ÉÒÔÔËÐÐ Docker¾µÏñÖеijÌÐò¡£

Container£¨ÈÝÆ÷£©

ÈÝÆ÷ÊǾµÏñµÄ¿ÉÔËÐÐʵÀý¡£¾µÏñºÍÈÝÆ÷µÄ¹ØÏµÓеãÀàËÆÓÚÃæÏò¶ÔÏóÖУ¬ÀàºÍ¶ÔÏóµÄ¹ØÏµ¡£¿Éͨ¹ý Docker API»òÕß CLIÃüÁîÀ´ÆôÍ£¡¢Òƶ¯¡¢É¾³ýÈÝÆ÷¡£

Registry

Docker RegistryÊÇÒ»¸ö¼¯Öд洢Óë·Ö·¢¾µÏñµÄ·þÎñ¡£¹¹½¨Íê Docker¾µÏñºó£¬¾Í¿ÉÔÚµ±Ç°ËÞÖ÷»úÉÏÔËÐС£µ«Èç¹ûÏëÒªÔÚÆäËû»úÆ÷ÉÏÔËÐÐÕâ¸ö¾µÏñ£¬¾ÍÐèÒªÊÖ¶¯¸´ÖÆ¡£´Ëʱ¿É½èÖú Docker RegistryÀ´±ÜÃâ¾µÏñµÄÊÖ¶¯¸´ÖÆ¡£

Ò»¸ö Docker Registry¿É°üº¬¶à¸ö Docker²Ö¿â£¬Ã¿¸ö²Ö¿â¿É°üº¬¶à¸ö¾µÏñ±êÇ©£¬Ã¿¸ö±êÇ©¶ÔÓ¦Ò»¸ö Docker¾µÏñ¡£Õâ¸ú MavenµÄ²Ö¿âÓеãÀàËÆ£¬Èç¹û°Ñ Docker Registry±È×÷ Maven²Ö¿âµÄ»°£¬ÄÇô Docker²Ö¿â¾Í¿ÉÀí½âΪijjar°üµÄ·¾¶£¬¶ø¾µÏñ±êÇ©Ôò¿ÉÀí½âΪjar°üµÄ°æ±¾ºÅ¡£

Docker°²×°

Docker ÊÇÒ»¸ö¿ªÔ´µÄÉÌÒµ²úÆ·£¬ÓÐÁ½¸ö°æ±¾£ºÉçÇø°æ£¨Community Edition£¬ËõдΪ CE£©ºÍÆóÒµ°æ£¨Enterprise Edition£¬ËõдΪ EE£©¡£ÆóÒµ°æ°üº¬ÁËһЩÊÕ·Ñ·þÎñ£¬¸öÈË¿ª·¢ÕßÒ»°ãÓò»µ½¡£ÏÂÃæµÄ½éÉܶ¼Õë¶ÔÉçÇø°æ¡£

Docker CE µÄ°²×°Çë²Î¿¼¹Ù·½Îĵµ¡£ÒÔÏÂÁгö²»Í¬²Ù×÷ϵͳµÄ°²×°·½·¨£¬Ö±½Óµã»÷½øÈë²é¿´

Mac

Windows

Ubuntu

Debian

CentOS

Fedora

ÆäËû Linux ·¢Ðаæ

ÎÒÃÇÕâÀïÒÔCentOSΪÀý£º

1¡¢Docker ÒªÇó CentOS ϵͳµÄÄں˰汾¸ßÓÚ 3.10 £¬²é¿´±¾Ò³ÃæµÄǰÌáÌõ¼þÀ´ÑéÖ¤ÄãµÄCentOS °æ±¾ÊÇ·ñÖ§³Ö Docker ¡£

ͨ¹ý uname -r ÃüÁî²é¿´Ä㵱ǰµÄÄں˰汾

# uname -r

2¡¢Ê¹Óà root ȨÏ޵Ǽ Centos¡£È·±£ yum °ü¸üе½×îС£

# yum -y update

3¡¢Ð¶Ôؾɰ汾(Èç¹û°²×°¹ý¾É°æ±¾µÄ»°)

# yum remove docker docker-common docker-selinux docker-engine

4¡¢°²×°ÐèÒªµÄÈí¼þ°ü£¬ yum-util Ìṩyum-config-manager¹¦ÄÜ£¬ÁíÍâÁ½¸öÊÇdevicemapperÇý¶¯ÒÀÀµµÄ

# yum install -y yum-utils device-mapper-persistent-data lvm2

5¡¢ÉèÖÃyumÔ´

# yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

6¡¢¿ÉÒԲ鿴ËùÓвֿâÖÐËùÓÐdocker°æ±¾£¬²¢Ñ¡ÔñÌØ¶¨°æ±¾°²×°

# yum list docker-ce --showduplicates | sort -r

7¡¢°²×°docker

# sudo yum install -y docker-ce #ÓÉÓÚrepoÖÐĬÈÏÖ»¿ªÆôstable²Ö¿â£¬¹ÊÕâÀï°²×°µÄÊÇ×îÐÂÎȶ¨°æ18.03.1

8¡¢Æô¶¯²¢¼ÓÈ뿪»úÆô¶¯

# systemctl start docker

# systemctl enable docker

9¡¢ÑéÖ¤°²×°ÊÇ·ñ³É¹¦(ÓÐclientºÍserviceÁ½²¿·Ö±íʾdocker°²×°Æô¶¯¶¼³É¹¦ÁË)

# docker version

10¡¢Ð¶ÔØdocker

# yum -y remove docker-engine

Docker³£ÓÃÃüÁî

¾µÏñÏà¹ØÃüÁî

1¡¢ËÑË÷¾µÏñ

¿ÉʹÓà docker searchÃüÁîËÑË÷´æ·ÅÔÚ Docker Hub(ÕâÊÇdocker¹Ù·½ÌṩµÄ´æ·ÅËùÓÐdocker¾µÏñÈí¼þµÄµØ·½£¬ÀàËÆmavenµÄÖÐÑë²Ö¿â)ÖеľµÏñ¡£Ö´ÐиÃÃüÁîºó£¬ Docker¾Í»áÔÚDocker HubÖÐËÑË÷º¬ÓÐ javaÕâ¸ö¹Ø¼ü´ÊµÄ¾µÏñ²Ö¿â¡£

# docker search java

ÒÔÉÏÁбí°üº¬ÎåÁУ¬º¬ÒåÈçÏ£º

- NAME:¾µÏñ²Ö¿âÃû³Æ¡£

- DESCRIPTION:¾µÏñ²Ö¿âÃèÊö¡£

- STARS£º¾µÏñ²Ö¿âÊÕ²ØÊý£¬±íʾ¸Ã¾µÏñ²Ö¿âµÄÊÜ»¶Ó­³Ì¶È£¬ÀàËÆÓÚ GitHubµÄ stars0

- OFFICAL:±íʾÊÇ·ñΪ¹Ù·½²Ö¿â£¬¸ÃÁбê¼ÇΪ[0K]µÄ¾µÏñ¾ùÓɸ÷Èí¼þµÄ¹Ù·½ÏîÄ¿×é´´½¨ºÍά»¤¡£

- AUTOMATED£º±íʾÊÇ·ñÊÇ×Ô¶¯¹¹½¨µÄ¾µÏñ²Ö¿â¡£

×¢Ò⣺ʹÓÃdocker²éÕÒ»òÏÂÔØ¾µÏñ¿ÉÄܻᳬʱ£¬ËùÒÔÎÒÃÇÐèҪΪdockerÅäÖùúÄڵľµÏñ¼ÓËÙÆ÷

ÎÒÃÇ¿ÉÒÔ½èÖú°¢ÀïÔÆµÄ¾µÏñ¼ÓËÙÆ÷£¬µÇ¼°¢ÀïÔÆ(https://cr.console.aliyun.com/#/accelerator)

¿ÉÒÔ¿´µ½¾µÏñ¼ÓËÙµØÖ·ÈçÏÂͼ£º

# cd /etc/docker

²é¿´ÓÐûÓÐ daemon.json¡£ÕâÊÇdockerĬÈϵÄÅäÖÃÎļþ¡£

Èç¹ûûÓÐн¨£¬Èç¹ûÓУ¬ÔòÐ޸ġ£

# vim daemon.json
{

"registry-mirrors": ["https://m9r2r2uj.mirror.aliyuncs.com"]

}

±£´æÍ˳ö²¢ÖØÆôdocker·þÎñ

# service docker restart

2¡¢ÏÂÔØ¾µÏñ

ʹÓÃÃüÁîdocker pullÃüÁî¼´¿É´Ó Docker RegistryÉÏÏÂÔØ¾µÏñ£¬Ö´ÐиÃÃüÁîºó£¬Docker»á´Ó Docker HubÖÐµÄ java²Ö¿âÏÂÔØ×îа汾µÄ Java¾µÏñ¡£Èç¹ûÒªÏÂÔØÖ¸¶¨°æ±¾ÔòÔÚjavaºóÃæ¼ÓðºÅÖ¸¶¨°æ±¾£¬ÀýÈ磺docker pull java:8

# docker pull java:8

3¡¢Áгö¾µÏñ

ʹÓà docker imagesÃüÁî¼´¿ÉÁгöÒÑÏÂÔØµÄ¾µÏñ

# docker images

ÒÔÉÏÁÐ±íº¬ÒåÈçÏÂ

- REPOSITORY£º¾µÏñËùÊô²Ö¿âÃû³Æ¡£

- TAG:¾µÏñ±êÇ©¡£Ä¬ÈÏÊÇ latest,±íʾ×îС£

- IMAGE ID£º¾µÏñ ID£¬±íʾ¾µÏñΨһ±êʶ¡£

- CREATED£º¾µÏñ´´½¨Ê±¼ä¡£

- SIZE: ¾µÏñ´óС¡£

4¡¢É¾³ý±¾µØ¾µÏñ

ʹÓà docker rmiÃüÁî¼´¿Éɾ³ýÖ¸¶¨¾µÏñ

# docker rmi java

ÈÝÆ÷Ïà¹ØÃüÁî

1¡¢Ð½¨²¢Æô¶¯ÈÝÆ÷

ʹÓÃÒÔÏÂdocker run <¾µÏñÃû>ÃüÁî¼´¿Éн¨²¢Æô¶¯Ò»¸öÈÝÆ÷£¬¸ÃÃüÁîÊÇ×î³£ÓõÄÃüÁËüÓкܶàÑ¡ÏÏÂÃæ½«ÁоÙһЩ³£ÓõÄÑ¡Ïî¡£

# docker run -d -p 91:80 nginx

ÕâÑù¾ÍÄÜÆô¶¯Ò»¸ö NginxÈÝÆ÷¡£ÔÚ±¾ÀýÖУ¬Îª docker runÌí¼ÓÁËÁ½¸ö²ÎÊý£¬º¬ÒåÈçÏ£º

-d ºǫ́ÔËÐÐ

-p ËÞÖ÷»ú¶Ë¿Ú:ÈÝÆ÷¶Ë¿Ú #¿ª·ÅÈÝÆ÷¶Ë¿Úµ½ËÞÖ÷»ú¶Ë¿Ú

·ÃÎÊ http://DockerËÞÖ÷»ú IP:91/£¬½«»á¿´µ½nginxµÄÖ÷½çÃæÈçÏ£º

ÐèҪעÒâµÄÊÇ£¬Ê¹Óà docker runÃüÁî´´½¨ÈÝÆ÷ʱ£¬»áÏȼì²é±¾µØÊÇ·ñ´æÔÚÖ¸¶¨¾µÏñ¡£Èç¹û±¾µØ²»´æÔÚ¸ÃÃû³ÆµÄ¾µÏñ£¬ Docker¾Í»á×Ô¶¯´Ó Docker HubÏÂÔØ¾µÏñ²¢Æô¶¯Ò»¸ö DockerÈÝÆ÷¡£

¸ÃÃüÁÓÐÒ»¸öÍøÂçÅäÖòÎÊý£¬ÈçÏÂËùʾ

--netÑ¡Ïָ¶¨ÍøÂçģʽ£¬¸ÃÑ¡ÏîÓÐÒÔÏ¿ÉÑ¡²ÎÊý£º

--net=bridge:ĬÈÏÑ¡Ï±íʾÁ¬½Óµ½Ä¬ÈϵÄÍøÇÅ¡£

--net=host:ÈÝÆ÷ʹÓÃËÞÖ÷»úµÄÍøÂç¡£

--net=container:NAME-or-ID£º¸æËß DockerÈÃн¨µÄÈÝÆ÷ʹÓÃÒÑÓÐÈÝÆ÷µÄÍøÂçÅäÖá£

--net=none£º²»ÅäÖøÃÈÝÆ÷µÄÍøÂ磬Óû§¿É×Ô¶¨ÒåÍøÂçÅäÖá£

2¡¢ÁгöÈÝÆ÷

Óà docker psÃüÁî¼´¿ÉÁгöÔËÐÐÖеÄÈÝÆ÷

# docker ps

ÈçÐèÁгöËùÓÐÈÝÆ÷£¨°üÀ¨ÒÑÍ£Ö¹µÄÈÝÆ÷£©£¬¿ÉʹÓÃ-a²ÎÊý¡£¸ÃÁбí°üº¬ÁË7ÁУ¬º¬ÒåÈçÏÂ

- CONTAINER_ID£º±íʾÈÝÆ÷ ID¡£

- IMAGE:±íʾ¾µÏñÃû³Æ¡£

- COMMAND£º±íʾÆô¶¯ÈÝÆ÷ʱÔËÐеÄÃüÁî¡£

- CREATED£º±íʾÈÝÆ÷µÄ´´½¨Ê±¼ä¡£

- STATUS£º±íʾÈÝÆ÷ÔËÐеÄ״̬¡£UP±íʾÔËÐÐÖУ¬ Exited±íʾÒÑÍ£Ö¹¡£

- PORTS:±íʾÈÝÆ÷¶ÔÍâµÄ¶Ë¿ÚºÅ¡£

- NAMES:±íʾÈÝÆ÷Ãû³Æ¡£¸ÃÃû³ÆÄ¬ÈÏÓÉ Docker×Ô¶¯Éú³É£¬Ò²¿ÉʹÓà docker runÃüÁîµÄ--nameÑ¡Ïî×ÔÐÐÖ¸¶¨¡£

3¡¢Í£Ö¹ÈÝÆ÷

ʹÓà docker stop <ÈÝÆ÷id>ÃüÁ¼´¿ÉÍ£Ö¹ÈÝÆ÷

# docker stop f0b1c8ab3633

ÆäÖÐf0b1c8ab3633ÊÇÈÝÆ÷ ID,µ±È»Ò²¿ÉʹÓà docker stopÈÝÆ÷Ãû³ÆÀ´Í£Ö¹Ö¸¶¨ÈÝÆ÷

4¡¢Ç¿ÖÆÍ£Ö¹ÈÝÆ÷

¿ÉʹÓà docker kill <ÈÝÆ÷id>ÃüÁî·¢ËÍ SIGKILLÐźÅÀ´Ç¿ÖÆÍ£Ö¹ÈÝÆ÷

# docker kill f0b1c8ab3633

5¡¢Æô¶¯ÒÑÍ£Ö¹µÄÈÝÆ÷

ʹÓÃdocker runÃüÁ¼´¿Éн¨²¢Æô¶¯Ò»¸öÈÝÆ÷¡£¶ÔÓÚÒÑÍ£Ö¹µÄÈÝÆ÷£¬¿ÉʹÓà docker start <ÈÝÆ÷id>ÃüÁîÀ´Æô¶¯

# docker start f0b1c8ab3633

6¡¢²é¿´ÈÝÆ÷ËùÓÐÐÅÏ¢

ʹÓÃÃüÁîdocker inspect <ÈÝÆ÷id>

# docker inspect f0b1c8ab3633

7¡¢²é¿´ÈÝÆ÷ÈÕÖ¾£¬

ʹÓÃÃüÁîdocker container logs <ÈÝÆ÷id>

# docker container logs f0b1c8ab3633

8¡¢²é¿´ÈÝÆ÷ÀïµÄ½ø³Ì

ʹÓÃÃüÁîdocker top <ÈÝÆ÷id>

# docker top f0b1c8ab3633

9¡¢½øÈëÈÝÆ÷

ʹÓÃdocker container exec -it <ÈÝÆ÷id> /bin/bashÃüÁîÓÃÓÚ½øÈëÒ»¸öÕýÔÚÔËÐеÄdockerÈÝÆ÷¡£Èç¹ûdocker runÃüÁîÔËÐÐÈÝÆ÷µÄʱºò£¬Ã»ÓÐʹÓÃ-it²ÎÊý£¬¾ÍÒªÓÃÕâ¸öÃüÁî½øÈëÈÝÆ÷¡£Ò»µ©½øÈëÁËÈÝÆ÷£¬¾Í¿ÉÒÔÔÚÈÝÆ÷µÄ Shell Ö´ÐÐÃüÁîÁË

# docker container exec -it f0b1c8ab3633 /bin/bash

9¡¢É¾³ýÈÝÆ÷

ʹÓà docker rmÃüÁî¼´¿Éɾ³ýÖ¸¶¨ÈÝÆ÷

# docker rm f0b1c8ab3633

¸ÃÃüÁîÖ»ÄÜɾ³ýÒÑÍ£Ö¹µÄÈÝÆ÷£¬ÈçÐèɾ³ýÕýÔÚÔËÐеÄÈÝÆ÷£¬¿ÉʹÓÃ-f²ÎÊý

¹¹½¨×Ô¼ºµÄdocker¾µÏñ

ʹÓÃDockerfile¹¹½¨×Ô¼ºµÄDocker¾µÏñ

DockerfileÊÇÒ»¸öÎı¾Îļþ£¬ÆäÖаüº¬ÁËÈô¸ÉÌõÖ¸ÁָÁîÃèÊöÁ˹¹½¨¾µÏñµÄϸ½Ú

ÏÈÀ´±àдһ¸ö×î¼òµ¥µÄDockerfile£¬ÒÔǰÎÄÏÂÔØµÄNginx¾µÏñΪÀý£¬À´±àдһ¸öDockerfileÐ޸ĸÃNginx¾µÏñµÄÊ×Ò³

1¡¢Ð½¨Îļþ¼Ð/app£¬ÔÚappĿ¼ÏÂн¨Ò»¸öÃûΪDockerfileµÄÎļþ£¬ÔÚÀïÃæÔö¼ÓÈçÏÂÄÚÈÝ£º

FROM nginx #´Ó±¾µØµÄ¾µÏñ²Ö¿âÀïÀ­È¡ngxinµÄdocker¾µÏñ
RUN echo 'This is QingFeng Nginx!!!' > /usr/share/nginx/html/index.html #ÐÞ¸ÄngxinµÄdocker¾µÏñµÄÊ×Ò³ÄÚÈÝ

¸ÃDockerfile·Ç³£¼òµ¥£¬ÆäÖÐµÄ FORM¡¢ RUN¶¼ÊÇ DockerfileµÄÖ¸Áî¡£ FROMÖ¸ÁîÓÃÓÚÖ¸¶¨»ù´¡¾µÏñ£¬ RUNÖ¸ÁîÓÃÓÚÖ´ÐÐÃüÁî¡£

2¡¢ÔÚDockerfileËùÔÚ·¾¶Ö´ÐÐÒÔÏÂÃüÁî¹¹½¨ÎÒÃÇ×Ô¼ºµÄngxin¾µÏñ£¬¹¹½¨Íê¿ÉÓÃdocker imagesÃüÁî²é¿´ÊÇ·ñÒÑÉú³É¾µÏñngxin:tuling£º

# docker build -t nginx:qingfeng .

ÆäÖУ¬-tÖ¸¶¨¾µÏñÃû×Ö£¬ÃüÁî×îºóµÄµã£¨.£©±íʾDockerfileÎļþËùÔÚ·¾¶

3¡¢Ö´ÐÐÒÔÏÂÃüÁ¼´¿ÉʹÓøþµÏñÆô¶¯Ò»¸ö DockerÈÝÆ÷

# docker run -d -p 92:80 nginx:qingfeng

4¡¢·ÃÎÊ http://DockerËÞÖ÷»úIP:92/£¬¿É¿´µ½ÏÂͼËùʾ½çÃæ£¬

DockerfileµÄÎļþ±àд»¹ÓÐÈçϳ£ÓÃÖ¸Áî

×¢Ò⣺RUNÃüÁîÔÚ image ÎļþµÄ¹¹½¨½×¶ÎÖ´ÐУ¬Ö´Ðнá¹û¶¼»á´ò°ü½øÈë image Îļþ£»CMDÃüÁîÔòÊÇÔÚÈÝÆ÷Æô¶¯ºóÖ´ÐС£ÁíÍ⣬һ¸ö Dockerfile ¿ÉÒÔ°üº¬¶à¸öRUNÃüÁµ«ÊÇÖ»ÄÜÓÐÒ»¸öCMDÃüÁî¡£

×¢Ò⣬ָ¶¨ÁËCMDÃüÁîÒÔºó£¬docker container runÃüÁî¾Í²»Äܸ½¼ÓÃüÁîÁË£¨±ÈÈçÇ°ÃæµÄ/bin/bash£©£¬·ñÔòËü»á¸²¸ÇCMDÃüÁî¡£

ʹÓÃDockerfile¹¹½¨Î¢·þÎñ¾µÏñ

ÒÔspring bootÏîÄ¿ms-eureka-server(Ô´ÂëÔÚ×îºó)ΪÀý£¬¸ÃÏîÄ¿¾ÍÊÇÒ»¸öspring cloud eurekaµÄ΢·þÎñÏîÄ¿£¬¸ÃÏîÄ¿¿Éͨ¹ýspring bootµÄmaven²å¼þ´ò°ü³É¿ÉÖ´ÐеÄjar°üÔËÐУ¬ÈçÏÂͼËùʾ

½«¸ÃÏîÄ¿µÄ¿ÉÖ´ÐÐjar°ü¹¹½¨³Édocker¾µÏñ£º

1¡¢½«jar°üÉÏ´«linux·þÎñÆ÷/app/eurekaĿ¼£¬ÔÚjar°üËùÔÚĿ¼´´½¨ÃûΪDockerfileµÄÎļþ

2¡¢ÔÚDockerfileÖÐÌí¼ÓÒÔÏÂÄÚÈÝ

# »ùÓÚÄĸö¾µÏñ

From java:8

# ¸´ÖÆÎļþµ½ÈÝÆ÷

ADD microservice-eureka-server-0.0.1-SNAPSHOT.jar /app.jar

# ÉùÃ÷ÐèÒª±©Â¶µÄ¶Ë¿Ú

EXPOSE 8761 # ΢·þÎñÏîÄ¿µÄÆô¶¯¶Ë¿Ú

# ÅäÖÃÈÝÆ÷Æô¶¯ºóÖ´ÐеÄÃüÁî

ENTRYPOINT ["java","-jar","/app.jar"]

3¡¢Ê¹ÓÃdocker buildÃüÁî¹¹½¨¾µÏñ

# docker build -t microservice-eureka-server:0.0.1 .

# ¸ñʽ£º docker build -t ¾µÏñÃû³Æ:±êÇ© DockerfileµÄÏà¶ÔλÖÃ

ÔÚÕâÀʹÓÃ-tÑ¡ÏîÖ¸¶¨Á˾µÏñµÄ±êÇ©¡£Ö´ÐиÃÃüÁîºó£¬Öն˽«»áÊä³öÈçϵÄÄÚÈÝ

4¡¢Æô¶¯¾µÏñ£¬¼Ó-d¿ÉÔÚºǫ́Æô¶¯

# docker run -p 8761:8761 microservice-eureka-server:0.0.1

5¡¢·ÃÎÊhttp://DockerËÞÖ÷»úIP:8761/£¬¿ÉÕý³£ÏÔʾ΢·þÎñEureka ServerµÄÊ×Ò³

   
7150 ´Îä¯ÀÀ       34
Ïà¹ØÎÄÕÂ

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

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

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