×

docker環(huán)境的搭建與使用

分類:云服務(wù)資訊 編輯: 瀏覽量:100
2021-07-23 14:41:39
??docker設(shè)想是交付運行環(huán)境如同海運,OS如同一個貨輪,每一個在OS基礎(chǔ)上的軟件都如同一個集裝箱,用戶可以通過標準化手段自由組裝運行環(huán)境,同時集裝箱的內(nèi)容可以由用戶自定義,也可以由專業(yè)人員制造。Docker中的容器,可以看作是將程序 + 運行環(huán)境的打包后的新程序。這時候,你就不用關(guān)心你的程序的運行環(huán)境了,因為容器里面的環(huán)境就是你當時開發(fā)環(huán)境的一個拷貝。下面就由新網(wǎng)小編和大家講一講docker環(huán)境的搭建與使用。

??一、Docker環(huán)境搭建

??我是Ubuntu16.04(64位),先在終端執(zhí)行l(wèi)sb_release -cs(我的輸出結(jié)果是xenial),訪問下載地址,依次選擇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

??注:可能會保存因為依賴包沒有安裝,根據(jù)錯誤信息安裝即可

??添加鏡像源

??主要是加速作用,不然可能有時候會卡半天。

??$ sudo vi /etc/docker/daemon.json $ sudo cat /etc/docker/daemon.json { "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"] #國內(nèi)鏡像源 } $ sudo systemctl enable docker #設(shè)置開機啟動 $ sudo systemctl daemon-reload #重新加載配置 $ sudo systemctl restart docker #重啟docker

??docker-compose

??這個Python程序可以方便地管理多個Docker實例組成的分布式服務(wù)。

??$ sudo apt install python3-pip $ sudo pip3 install docker-compose

??二、Docker簡單使用

??運行容器

??$ docker run hello-world

??這個命令首先會檢查本地是否有hello-world容器

??如果沒有就通過image創(chuàng)建,其中image就是容器的模板(一個二進制文件),docker run image_name,實際上就是創(chuàng)建一個image實例,最后容器也就是一個文件。(也就是說,image就像相當于類,容器相當于類實例)

??如果本地沒有image就從docker的倉庫下載下來

??創(chuàng)建一個新的容器,并且啟動容器

??列出運行中容器

??$ docker container ls #列出運行中的容器 $ docker container ls -all #列出全部容器

??docker-containers.png

??第一個字段是ID,用來標識容器實例,因為一個image可以生成多個容器。

??結(jié)束容器運行

??$ docker container kill $Container_ID #強行結(jié)束運行中的容器,這個主要用來針對作為服務(wù)運行的容器

??刪除容器

??容器在結(jié)束運行后,一般不會自動刪除,除非image中進行了配置,或者在run的使用使用了-rm。那么刪除容器的命令是:

??$ docker container rm $Container_ID

??清理命令

??docker 1.13開始 的清理命令

??$ docker container prune -f #刪除所有停止容器 $ docker image prune -f -a #刪除所有鏡像

??刪除none鏡像

??none 鏡像是一些沒有成功build的臨時鏡像,刪掉即可。

??$ docker rmi $(docker images -f "dangling=true" -q)

??Docker還有很多強大功能,暫時我也只用到這幾個而已了。

??Docker核心解決的問題是利用LXC來實現(xiàn)類似VM的功能,從而利用更加節(jié)省的硬件資源提供給用戶更多的計算資源。同VM的方式不同,LXC其并不是一套硬件虛擬化方法 - 無法歸屬到全虛擬化、部分虛擬化和半虛擬化中的任意一個,而是一個操作系統(tǒng)級虛擬化方法, 理解起來可能并不像VM那樣直觀。所以我們從虛擬化到docker要解決的問題出發(fā),看看他是怎么滿足用戶虛擬化需求的。小伙伴們要想獲得更多docker環(huán)境的內(nèi)容,請關(guān)注新網(wǎng)!

聲明:免責聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻自行上傳,本網(wǎng)站不擁有所有權(quán),也不承認相關(guān)法律責任。如果您發(fā)現(xiàn)本社區(qū)中有涉嫌抄襲的內(nèi)容,請發(fā)

送郵件至:operations@xinnet.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,本站將立刻刪除涉嫌侵權(quán)內(nèi)容。本站原創(chuàng)內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時

需注明出處:新網(wǎng)idc知識百科

免費咨詢獲取折扣

Loading