婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Docker配置容器位置與小技巧總結

Docker配置容器位置與小技巧總結

熱門標簽:蕪湖呼叫中心外呼系統哪家強 電銷機器人怎么錄音 天津外呼系統運營商 貴陽語音電銷機器人 漯河電銷外呼系統價格 ec外呼系統怎么樣 貴港市機器人外呼系統團隊 征服者快捷酒店地圖標注 咸陽穩定外呼系統公司

Docker使用小技巧

1、清理全部停止的docker容器

有時候我們會有很多已經停止的容器或者由于錯誤強制退出不能用的容器,那我們就需要刪除了,但是我們一個一個的rm刪除很麻煩,有多少容器就要rm多少次,我們可以根據docker ps -qa 查出所有容器的id,一次性全部刪除,不用擔心會刪除正在運行的容器,運行中的容器rm無法刪除,這樣我們就一次性把所有停止的容器刪除了

# 只適用于Linux環境下
docker rm $(docker ps -qa)

2、查看鏡像中得環境變量

當我們制作好一個鏡像或者獲取到一個鏡像之后如果我們想知道他的環境變量,我們首先想到的就是創建容器看看就知道了,其實不必,我們可以直接通過env查看

docker run nginx env

3、Windows上和Linux的區別

這兩種環境的區別主要原因還是docker的支持問題,我們都知道docker最開始是在Linux上發行的,依賴于Linux內核,但是Windows上沒有,那么我們現在是怎么用的呢,虛擬機,如果是win10以下版本基本上裝的都是VirtualBox,win10的很多都會選擇桌面版的,使用的Hyper-V ,也是虛擬機的一種。只有有了虛擬機之后docker才能在windows上使用,到這里我們應該知道兩種不同之處了

在Linux上docker直接就在Linux系統上的,但是在windows上不同,windows系統上是虛擬機,虛擬機上才是docker

Linux系統 << docker容器

win系統 << 虛擬機 << docker容器

也就是這種原因,導致我們在使用的過程中有略微的不同,最常見的就是開端口的時候

Linux系統:docker容器端口直接映射到Linux系統

windows系統:docker容器端口映射到虛擬機,再由虛擬機映射到我們的windows

注: 把我們虛擬機中選擇網絡的時候選擇網絡地址轉換(NAT),這樣我們就不用考慮中間虛擬機到windows這層的端口映射問題了

4、掛載

在使用Docker的時候很多人都喜歡制作鏡像,把應用直接打包到鏡像中,直接啟動鏡像,一切OK,但是避免不了的是我們有時候會做一些細微的修改,特別是配置文件或者是一些項目中微小的修改,這種時候我們還是要重新做鏡像嗎?答案是不需要的,沒有必要

​ 我們前端使用nginx鏡像部署,但是發布之后發現有一點樣式需要微調,那么我們是不是還需要重新制作一個鏡像呢,這樣我們會不會感覺很麻煩(至少我會感覺很麻煩),想想我們只需要把修改過的文件把容器中的文件覆蓋就行了,怎么樣才能直接把修改過的文件覆蓋容器中的文件,兩種辦法:第一直接把文件cp到容器中,這個過程我們還是要操作容器,怎么才能不動容器呢?掛載 我們可以在啟動容器的時候直接把會在后面修改的東西掛載到宿主機上,這樣我們就不用動容器了,啟動的時候使用-v參數掛載宿主機文件或目錄到容器

docker run -d -p 80:80 -v /c/Users/SunArmy/Desktop/html:/usr/share/nginx/html nginx

我們隨便寫一個index.html里面寫上welcome nginx

把這個文件覆蓋/opt/docker/html/下的index.html

再訪問

重啟都不需要直接OK

為什么不選擇直接cp到容器中

​ 有這樣一種情況,如果你需要修改的是配置文件,這肯定是需要重啟的,但是在修改的時候不小心把配置文件寫錯了,這個時候你的容器就起不來了,想要修改容器中的配置,那也做不到了(除非重新創建容器),換種做法,如果我們把配置文件掛載在外面當你啟動不起來的時候你可以直接在宿主機上修改為正確配置重啟啟動即可,綜上,掛載的方式比cp到容器中的方式方便且安全

1、jq工具

最后介紹一個操作json的工具,這個是在查看容器配置的時候用的,我們使用docker inspect ID查看容器配置,往往會過濾出來一些我們關注的信息,一般情況下我們會選擇docker inspect --format= 或者使用grep

但是無論使用哪一種都沒有我們最熟悉的操作json的方式來過濾用著爽

jq工具需要單獨安裝yum install jq

使用jq過濾docker inspect 獲取地址

docker inspect ac |jq -r .[0].NetworkSettings.IPAddress

. 代表管道前面的輸出,之后的[0]就是數組的第1個元素,后面的 . 就是類似于點出對象中的屬性一樣,跟我們平時使用json是一樣的,jq還能方便的格式化查看json文件,對于在命令行下查看json文件簡直是利器

2、修改Docker本地鏡像和容器的存儲位置

很多人都是只知道創建了容器,從來沒有關注過創建的容器在哪?本地鏡像在哪?

但是,當你不得不關注的時候往往就是你的docker鏡像和容器把你的盤裝滿了

查看Docker鏡像和容器存儲的位置

docker info |greo Docker

默認位置就是:/var/lib/docker

修改存儲位置的方法有兩種:

一):通過建立軟連接,把/var/lib/docker 移動到其他地方,建立到這里的軟連接

# 停止docker
 service docker stop
# 移動/var/lib/docker 到/usr/local/
 mv /var/lib/docker /usr/local/
# 建立軟連接
 ln -s /usr/local/docker /var/lib/docker
# 啟動Docker
 service docker start

這個時候我們已經修改了,但是查看位置的時候看到的位置還是/var/lib/docker

但是這是個鏈接,可以查看大小發現是空的,真實的存儲位置已經成為了/usr/local/docker

# 查看/var/lib/docker目錄大小
 du -dh /var/lib/docker

二):修改配置文件

默認配置文件/etc/docker/daemon.json

如果沒有的話就自己創建

{
 "registry-mirrors": ["http://hub-mirror.c.163.com"],
 "graph":"/opt/docker"
}

直接修改 graph 的值為你的位置然后重啟,OK

啟動

service docker stop

停止

service docker start

重啟

service docker restart

再查看docker的存儲位置,已經修改成功

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。

標簽:濰坊 香港 西藏 東營 淮北 攀枝花 怒江 西寧

巨人網絡通訊聲明:本文標題《Docker配置容器位置與小技巧總結》,本文關鍵詞  Docker,配置,容器,位置,與,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Docker配置容器位置與小技巧總結》相關的同類信息!
  • 本頁收集關于Docker配置容器位置與小技巧總結的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 修武县| 原阳县| 邯郸县| 武平县| 铁岭市| 甘泉县| 逊克县| 全州县| 巴中市| 安庆市| 台江县| 无棣县| 玉龙| 房产| 南宫市| 西宁市| 车致| 双辽市| 盐城市| 泸溪县| 墨竹工卡县| 衡水市| 邳州市| 和林格尔县| 河间市| 庆城县| 子长县| 黔西县| 鄂伦春自治旗| 永登县| 青州市| 广元市| 望江县| 西贡区| 通城县| 来凤县| 门源| 乌鲁木齐市| 札达县| 扬中市| 岳阳市|