中文字幕精品亚洲无线码二区,国产黄a三级三级三级看三级,亚洲七七久久桃花影院,丰满少妇被猛烈进入,国产小视频在线观看网站

docker~linux下的(de)部署和(he)基(ji)本命(ming)令(ling)

回到目錄

docker是最近比(bi)較(jiao)流行的容(rong)器工具(ju),它可以(yi)幫助(zhu)我們快速部(bu)署應(ying)用(yong),尤其(qi)是在(zai)“微服務”環境下,成百個服務要(yao)去啟動(dong),停(ting)止,部(bu)署一次太麻煩,而如果(guo)把它部(bu)署到(dao)docker里(li),下一次應(ying)用(yong)就方便(bian)多了,如果(guo)需要(yao)幾行代碼就搞定了!

百度百科定義

Docker 是一個開(kai)(kai)源的應用容(rong)器(qi)引擎,讓開(kai)(kai)發者可(ke)以打包(bao)(bao)他們的應用以及依賴包(bao)(bao)到一個可(ke)移植的容(rong)器(qi)中(zhong),然后發布到任何流行的 機器(qi)上,也(ye)可(ke)以實現(xian)。容(rong)器(qi)是完全使用機制,相互之間(jian)不會有(you)任何接口。

鏡像和容器

鏡(jing)像(xiang):就(jiu)是(shi)我們windows里的(de)ISO文件,就(jiu)是(shi)一(yi)個打包(bao)好的(de)東西,也類似于GHOST這種工具包(bao)

容(rong)(rong)器:將鏡像(xiang)啟動后(hou),它會生(sheng)產一個(ge)容(rong)(rong)器,我們可以(yi)在容(rong)(rong)器里添加(jia)新的組件(jian),然(ran)后(hou)生(sheng)產新的鏡像(xiang)!

應用場景 

環境管(guan)理復雜
從各種OS到各種中間件到各種app, 一款產品能夠成功作為開發者需要關心的東西太多,且難于管理,這個問題幾乎在所有現代IT相關行業都需要面對。
云(yun)計(ji)算時(shi)代的到來
AWS的成功, 引導開發者將應用轉移到 cloud 上, 解決了硬件管理的問題,然而中間件相關的問題依然存在 (所以openstack HEAT和 AWS cloudformation 都著力解決這個問題)。開發者思路變化提供了可能性。
虛(xu)擬(ni)化手(shou)段的變化
cloud 時代采用標配硬件來降低成本,采用虛擬化手段來滿足用戶按需使用的需求以及保證可用性和隔離性。然而無論是KVM還是Xen在 docker 看來,都在浪費資源,因為用戶需要的是高效運行環境而非OS, GuestOS既浪費資源又難于管理, 更加輕量級的LXC更加靈活和快速
LXC的移動性(xing)
LXC在 linux 2.6 的 kernel 里就已經存在了,但是其設計之初并非為云計算考慮的,缺少標準化的描述手段和容器的可遷移性,決定其構建出的環境難于遷移和標準化管理(相對于KVM之類image和snapshot的概念)。docker 就在這個問題上做出實質性的革新。這是docker最獨特的地方。

在centos上的部署

 

一 安(an)裝并添加(jia)服務和自(zi)啟動項

[root@localhost ~]# yum install docker

[root@localhost ~]# systemctl start docker.service

[root@localhost ~]# systemctl enable docker.service

二(er) docker幾個(ge)常用的命(ming)令

docker ps

令查看容器

docker info

檢查Docker的安裝是否正確,如果沒(mei)有(you)找(zhao)到此命(ming)令(ling),則表(biao)示Docker沒(mei)有(you)正確安裝

docker pull busybox

拉取一個預建的鏡像

sample_job=$(docker run -d busybox /bin/sh -c "while true; do echo Docker; sleep 1; done")

以后臺進程的方式運行hello docker
sample_job命令會(hui)隔一秒(miao)打印(yin)一次(ci)Docker,使用Docker logs可以查(cha)看(kan)輸出。如(ru)果沒有(you)起名字,那這(zhe)個(ge)job會(hui)被分配一個(ge)id,以后(hou)使用命令例(li)如(ru)Docker logs查(cha)看(kan)日志(zhi)會(hui)變得比較麻煩。

docker help

所有Docker命令

docker logs $sample_job

運(yun)行Docker logs命令來查看job的(de)當前(qian)狀態:

docker stop $sample_job

停止(zhi)名為sample_job的容器

docker restart $sample_job

重新啟動該容器

docker stop $sample_job docker rm $sample_job

如果要(yao)完全(quan)移除容(rong)器,需要(yao)將該容(rong)器停(ting)止(zhi),然后(hou)才(cai)能(neng)移除

docker commit $sample_job job1

將容器的狀(zhuang)態保存為鏡像

docker images

令查(cha)看(kan)所有鏡像(xiang)的列(lie)表(biao)

安裝.netCore的鏡(jing)像(xiang)

從倉庫中拉取一個(ge)鏡像

#下載dotnet的(de)鏡像
sudo docker pull microsoft/dotnet

查看(kan)一(yi)下(xia)這個鏡像

sudo docker images

這個(ge)過程可(ke)以是(shi)空的(de),因為(wei)上面的(de)下載速度很慢(man),畢(bi)竟是(shi)大老(lao)美的(de)服務(wu)器(qi),呵呵!

通過鏡像(xiang),運行一個容器(qi)

 docker run -it --name mycoreContainer 2cef2b382ef0

在這個容器中進(jin)行操作

root@2cef2b382ef0:~/hello# 

退出當前的(de)容器(qi)

root@2cef2b382ef0:/# exit

查看(kan)剛才建立的(de)容器

docker ps -a

從容器(qi)創建一(yi)個(ge)新的鏡像

 docker commit -a "lind.zhang" -m "netcore a  image" 3b063cca6a8a netcore:v1 

參數說明

  • -a :提交的鏡像作者;

  • -c :使用(yong)Dockerfile指令來創建鏡像;

  • -m :提交時的說明文字;

  • -p :在(zai)commit時(shi),將容(rong)器暫(zan)停。

刪除所(suo)有未(wei)運行 Docker 容器

docker rm $(docker ps -a -q)

刪除所(suo)有未(wei)打 tag 的鏡像

docker rmi $(docker images -q | awk '/^<none>/ { print $3 }')

刪(shan)除所有(you)鏡(jing)像

docker rmi $(docker images -q)

根據格式刪除所(suo)有鏡像

docker rm $(docker ps -qf status=exited)

下講我們將學習如何去部署一個netcore網站在docker里!

 回到目錄

posted @ 2017-04-07 22:47  張占嶺  閱讀(9851)  評論(0)    收藏  舉報