docker環(huán)境的搭建與使用
??一、Docker環(huán)境搭建
??我是Ubuntu16.04(64位),先在終端執(zhí)行l(wèi)sb_release -cs(我的輸出結(jié)果是xenial),訪問(wèn)下載地址,依次選擇xenial/pool/stable/amd64/,選擇要下載的版本,復(fù)制鏈接地址,
??$ wget https://download.docker.com/linux/ubuntu/dists/$(lsb_release -cs)/pool/stable/amd64/docker-ce_18.06.1~ce~3-0~ubuntu_amd64.deb $ dpkg -i docker-ce_18.06.1~ce~3-0~ubuntu_amd64.deb $ sudo usermod -aG docker $USER #將用戶加入docker組,避免每次都要sudo
??重啟終端,不然還是需要sudo
??$ docker run hello-world
??docker-hello-world.png
??注:可能會(huì)保存因?yàn)橐蕾嚢鼪](méi)有安裝,根據(jù)錯(cuò)誤信息安裝即可
??添加鏡像源
??主要是加速作用,不然可能有時(shí)候會(huì)卡半天。
??$ sudo vi /etc/docker/daemon.json $ sudo cat /etc/docker/daemon.json { "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"] #國(guó)內(nèi)鏡像源 } $ sudo systemctl enable docker #設(shè)置開(kāi)機(jī)啟動(dòng) $ sudo systemctl daemon-reload #重新加載配置 $ sudo systemctl restart docker #重啟docker
??docker-compose
??這個(gè)Python程序可以方便地管理多個(gè)Docker實(shí)例組成的分布式服務(wù)。
??$ sudo apt install python3-pip $ sudo pip3 install docker-compose
??二、Docker簡(jiǎn)單使用
??運(yùn)行容器
??$ docker run hello-world
??這個(gè)命令首先會(huì)檢查本地是否有hello-world容器
??如果沒(méi)有就通過(guò)image創(chuàng)建,其中image就是容器的模板(一個(gè)二進(jìn)制文件),docker run image_name,實(shí)際上就是創(chuàng)建一個(gè)image實(shí)例,最后容器也就是一個(gè)文件。(也就是說(shuō),image就像相當(dāng)于類,容器相當(dāng)于類實(shí)例)
??如果本地沒(méi)有image就從docker的倉(cāng)庫(kù)下載下來(lái)
??創(chuàng)建一個(gè)新的容器,并且啟動(dòng)容器
??列出運(yùn)行中容器
??$ docker container ls #列出運(yùn)行中的容器 $ docker container ls -all #列出全部容器
??docker-containers.png
??第一個(gè)字段是ID,用來(lái)標(biāo)識(shí)容器實(shí)例,因?yàn)橐粋€(gè)image可以生成多個(gè)容器。
??結(jié)束容器運(yùn)行
??$ docker container kill $Container_ID #強(qiáng)行結(jié)束運(yùn)行中的容器,這個(gè)主要用來(lái)針對(duì)作為服務(wù)運(yùn)行的容器
??刪除容器
??容器在結(jié)束運(yùn)行后,一般不會(huì)自動(dòng)刪除,除非image中進(jìn)行了配置,或者在run的使用使用了-rm。那么刪除容器的命令是:
??$ docker container rm $Container_ID
??清理命令
??docker 1.13開(kāi)始 的清理命令
??$ docker container prune -f #刪除所有停止容器 $ docker image prune -f -a #刪除所有鏡像
??刪除none鏡像
??none 鏡像是一些沒(méi)有成功build的臨時(shí)鏡像,刪掉即可。
??$ docker rmi $(docker images -f "dangling=true" -q)
??Docker還有很多強(qiáng)大功能,暫時(shí)我也只用到這幾個(gè)而已了。
??Docker核心解決的問(wèn)題是利用LXC來(lái)實(shí)現(xiàn)類似VM的功能,從而利用更加節(jié)省的硬件資源提供給用戶更多的計(jì)算資源。同VM的方式不同,LXC其并不是一套硬件虛擬化方法 - 無(wú)法歸屬到全虛擬化、部分虛擬化和半虛擬化中的任意一個(gè),而是一個(gè)操作系統(tǒng)級(jí)虛擬化方法, 理解起來(lái)可能并不像VM那樣直觀。所以我們從虛擬化到docker要解決的問(wèn)題出發(fā),看看他是怎么滿足用戶虛擬化需求的。小伙伴們要想獲得更多docker環(huán)境的內(nèi)容,請(qǐng)關(guān)注新網(wǎng)!
聲明:免責(zé)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),也不承認(rèn)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)本社區(qū)中有涉嫌抄襲的內(nèi)容,請(qǐng)發(fā)
送郵件至:operations@xinnet.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。本站原創(chuàng)內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)
需注明出處:新網(wǎng)idc知識(shí)百科