ǰÑÔ
ÔÚÇ°ÃæÎÄÕÂÖУ¬½éÉÜÁË ASP.NET CoreÔÚ macOS£¬Linux
ÉÏ»ùÓÚNginxºÍJexusµÄ·¢²¼ºÍ²¿Ê𣬱¾ÆªÎÄÕÂÖ÷ÒªÊÇÈçºÎÔÚDockerÈÝÆ÷ÖÐÔËÐÐASP.NET CoreÓ¦ÓóÌÐò¡£
Ŀ¼
1.Docker ³£ÓÃÃüÁî
2.Docker °²×°Asp.Net Core¾µÏñ
3.ʹÓÃDockerfile²¿Êð
Docker ³£ÓÃÃüÁî
¼ì²éDockerµÄ°²×°ÊÇ·ñÕýÈ·£¬Èç¹ûûÓÐÕÒµ½´ËÃüÁÔò±íʾDockerûÓÐÕýÈ·°²×°
Àȡһ¸öÔ¤½¨µÄ¾µÏñ
sample_job=$(docker run -d busybox /bin/sh -c "while true; do echo Docker; sleep 1; |
ÒÔºǫ́½ø³ÌµÄ·½Ê½ÔËÐÐhello docker
sample_jobÃüÁî»á¸ôÒ»Ãë´òÓ¡Ò»´ÎDocker£¬Ê¹ÓÃDocker
logs¿ÉÒԲ鿴Êä³ö¡£Èç¹ûûÓÐÆðÃû×Ö£¬ÄÇÕâ¸öjob»á±»·ÖÅäÒ»¸öid£¬ÒÔºóʹÓÃÃüÁîÀýÈçDocker logs²é¿´ÈÕÖ¾»á±äµÃ±È½ÏÂé·³¡£
ÔËÐÐDocker logsÃüÁîÀ´²é¿´jobµÄµ±Ç°×´Ì¬£º
ËùÓÐDockerÃüÁî
Í£Ö¹ÃûΪsample_jobµÄÈÝÆ÷
docker restart $sample_job |
ÖØÐÂÆô¶¯¸ÃÈÝÆ÷
docker stop $sample_job docker rm $sample_job |
Èç¹ûÒªÍêÈ«ÒÆ³ýÈÝÆ÷£¬ÐèÒª½«¸ÃÈÝÆ÷Í£Ö¹£¬È»ºó²ÅÄÜÒÆ³ý
docker commit $sample_job job1 |
½«ÈÝÆ÷µÄ״̬±£´æÎª¾µÏñ
Áî²é¿´ËùÓоµÏñµÄÁбí
ÏÂÃæ·ÖÏíһЩÎÒ¾³£Ê¹ÓõÄһЩÃüÁ
ÒÆ³ýËùÓеÄÈÝÆ÷ºÍ¾µÏñ£¬ÓÃÒ»ÐÐÃüÁî´óɨ³ý£º
docker kill $(docker ps -q) ; docker rm $(docker ps -a -q) ; docker rmi $(docker images -q -a)
|
½ö½öÏëɾ³ýËùÓеÄÈÝÆ÷£¬Äã¿ÉÒÔÔËÐÐÈçÏÂÃüÁ
docker kill $(docker ps -q) ; docker rm $(docker ps -a -q) |
Çå³ýÃû³ÆÎªnoneµÄ¾µÏñ£¬Ò»°ã¶¼ÊÇÏÂÔØÒ»°ãʧ°ÜµÄ²ÐÁô£º
docker ps -a | grep "Exited" | awk '{print $1 }'|xargs docker stop docker ps -a | grep "Exited" | awk '{print $1 }'|xargs docker rm docker images|grep none|awk '{print $3 }'|xargs docker rmi |
Çå³ýµ¥¸ö¾µÏñ£º
Docker °²×°Asp.Net Core¾µÏñ
ÓйØDockerµÄ°²×°Çë²Î¿¼¹ÙÍø£º
https://www.docker.com/products/docker
µ½ÕâÀ¼ÙÉèÄãµÄDockerÒѾ°²×°Íê³É£¬ÒÔÏ»·¾³Îª Liunx£¨Ubuntu
15.02£©¡£

´ò¿ª https://hub.docker.com ÓÒÉϽÇËÑË÷dotnet£¬Ñ¡ÔñµÚÒ»¸öËÑË÷½á¹ûmicrosoft/dotnet£¬µã½øÈ¥ÈçÏÂͼ£º

µÃµ½ÃüÁîÁ˰ɣ¬Çл»µ½ÃüÁîÐд°¿ÚÔËÐÐÒÔÏÂÃüÁîÀ´°²×°asp.net core ¾µÏñ¡£
sudo docker pull microsoft/dotnet |
1.ʲô£¿ ûÏìÓ¦£¬ËÙ¶ÈÂý£¿ Äã²»»áÂò¸ö¸ßËÙVPN°¡¡«
2.ʲô£¿ ûǮ£¿ Äã²»»áÕÒÒ»¸ö¹úÄÚµÄDocker¾µÏñÕ¾°¡¡« DaoCloud¾µÏñ°¡£¬°¢ÀïÔÆDocker¾µÏñ°¡¡£¡£×Ô¼º¶¯ÊÖÕÒ°¡¡£¡£
¾µÏñÏÂÔØÍê³ÉÖ®ºó£¬ÊäÈësudo docker imagesÎÒÃǼì²éһϣº

ÖÁ´Ë£¬×¼±¸¹¤×÷ÒѾȫ²¿Íê³ÉÁË
ʹÓà Dockerfile ²¿Êð
Dockerfile ÊÇʲô¶«Î÷£¬DockerfileÓÐʲôÓã¬×ÔÐаٶȡ£
²©Ö÷Ö±½Ó½ÌÄãÔõôд°É£º
×ܲ»ÄÜÒ»Ö±ÓÃ5000¶Ë¿Ú°É£¬Õâ´ÎÎÒÃÇʹÓÃ60000¶Ë¿Ú
1¡¢³ÌÐòÃüÁîÐÐÇл»µ½publishÎļþĿ¼ÖС£
2¡¢sudo touch Dockerfile Ãû³Æ²»ÒªÐ´´íÁË£¬Ã»ÓÐÈκκó׺Ãû,À´Ð½¨Ò»¸öDockerfileÎļþ¡£
3¡¢sudo vim Dockerfile ʹÓÃVimÀ´±à¼Dockerfile¡£Èç¹ûVim²»»áÓþÍÓÃgedit°É¡£
4¡¢ÊäÈëÒÔÏÂÄÚÈÝ£º
Dockerfile
#»ùÓÚ `microsoft/dotnet:1.0.0-core` À´¹¹½¨ÎÒÃǵľµÏñ FROM microsoft/dotnet:1.0.0-core
#¿½±´ÏîÄ¿publishÎļþ¼ÐÖеÄËùÓÐÎļþµ½ dockerÈÝÆ÷ÖеÄpublishÎļþ¼ÐÖÐ
COPY . /publish
#ÉèÖù¤×÷Ŀ¼Ϊ `/publish` Îļþ¼Ð£¬¼´ÈÝÆ÷Æô¶¯Ä¬ÈϵÄÎļþ¼Ð
WORKDIR /publish
#ÉèÖÃDockerÈÝÆ÷¶ÔÍⱩ¶60000¶Ë¿Ú
EXPOSE 60000
#ʹÓÃ`dotnet HelloWebApp.dll`À´ÔËÐÐÓ¦ÓóÌÐò
CMD ["dotnet", "HelloWebApp.dll",
"--server.urls", "http://*:60000"] |
ʹÓÃ:wqÀ´±£´æ²¢Í˳ö (geditÎÞÊÓµô )¡£
¹¹½¨¾µÏñ
ÔËÐÐ docker build -t hellowebapp:1.0 .
À´¹¹½¨Ò»¸ö¾µÏñ

ÔËÐй¹½¨µÄ¾µÏñ
ʹÓÃdocker run --name hellowebapp -d -p
60000:60000 hellowebapp:1.0

´ò¿ªä¯ÀÀÆ÷²âÊÔһϣº

|