Docker三個基本概念
鏡像(image)
容器(container)
倉庫(Repository)
鏡像(image)
搜索鏡像
docker search nginx
獲取鏡像
docker pull nginx
指定Registry地址和具體的倉庫名下載鏡像,沒有指定Registry地址,默認從Docker Hub上下載
docker pull jwilder/nginx-proxy
查看鏡像
docker images REPOSITORY TAG IMAGE ID CREATED SIZE mongo latest b39de1d79a53 2 weeks ago 359MB nginx latest b8efb18f159b 4 weeks ago 107MB mysql latest c73c7527c03a 4 weeks ago 412MB
列表中包含倉庫名、標籤、鏡像ID、創建時間及鏡像大小
查看鏡像是可以指定只顯示鏡像ID或者按照特定格式顯示鏡像內容
docker images -q b39de1d79a53 b8efb18f159b c73c7527c03a
docker images --format "table ``.`ID`\t``.`Repository`\t``.`Tag`" IMAGE ID REPOSITORY TAG b39de1d79a53 mongo latest b8efb18f159b nginx latest c73c7527c03a mysql latest
刪除鏡像
docker rmi 鏡像ID
注意沒有標籤名稱的,tag顯示爲none表示虛懸鏡像,會佔用系統資源,可以使用下面命令清除
docker rmi $(docker images -q -f dangling=true)
2、容器(container)
創建並運行容器
docker run centos /bin/echo 'hello world!' hello world!
docker run 常用參數
-d 後臺運行容器,並返回容器ID;
-i 以交互模式運行容器,通常與 -t 同時使用;
-t 爲容器重新分配一個僞輸入終端,通常與 -i 同時使用;
--name="web01" 爲容器指定一個名稱;
-p 指定容器到主機的端口映射;
-P 映射容器端口到主機的隨機端口;
--dns 8.8.8.8 指定容器使用的DNS服務器,默認和宿主一致;
-h "web01" 指定容器的hostname;
-e username="docker" 設置環境變量;
-v 綁定數據卷
docker run -i -t centos /bin/bash
docker run -d --name nginx01 -p 80:80 nginx
查看所有容器
docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 0f3bae62200a nginx "nginx -g 'daemon ..." 14 seconds ago Up 10 seconds 0.0.0.0:80->80/tcp nginx01 b1cdeb403e25 centos "/bin/bash" 3 minutes ago Exited (0) 2 minutes ago nifty_bohr aa243f5f4595 centos "/bin/echo 'hello ..." 22 minutes ago Exited (0) 22 minutes ago confident_shaw
列表中包含容器ID,鏡像名稱,運行命令,創建時間,容器狀態,端口映射,容器名稱,創建容器時建議給容器起一個有意義的名稱便於識別,默認會隨機生成一個容器名稱
停止容器
docker stop 容器ID
重啓容器
docker restart 容器ID
刪除容器
docker rm 容器ID
默認情況下,rm不會刪除正在運行的容器,所以可以通過docker rm $(docker ps -a -q)刪除所有未運行的容器
進入容器
docker exec -it nginx01 bash
還可通過docker attach 容器ID和nsenter的方式進入容器,前者不安全,後者有點麻煩,就不記錄了
退出容器
exit
3、倉庫(Repository)
倉庫(Repository)是集中存放鏡像的地方,一個容易混淆的概念是註冊服務器(Registry)。實際上註冊服務器是管理倉庫的具體服務器,每個服務器上可以有多個倉庫,而每個倉庫下面有多個鏡像。從這方面來說,倉庫可以被認爲是一個具體的項目或目錄。
目前鏡像默認都使用Docker Hub的公共倉庫,國內訪問緩慢可以使用一些知名的鏡像加速源,可參考Docker學習筆記——Docker安裝部署或者可以構建私有的倉庫,後續文章將詳細介紹。
知行辦公,專業移動辦公平臺
【總監】十二春秋之,[email protected];
【Master】zelo,[email protected];
【運營】運維艄公,[email protected];
【產品設計】流浪貓,[email protected];
【體驗設計】兜兜,[email protected];
【iOS】淘碼小工,[email protected];iMcG33K,[email protected];
【Android】人猿居士,[email protected];思路的頓悟,[email protected];
【java】首席工程師MR_W,[email protected];
【測試】土鏡問道,[email protected];
【數據】喜樂多,[email protected];
【安全】保密,你懂的。