文章目錄
- docker簡介
- 核心概念
- Docker命令
- 鏡像
- 獲取鏡像:docker pull
- 查看鏡像信息
- 搜尋鏡像:docker search
- 刪除鏡像:docker rm
- 清理鏡像:docker prune
- 上傳鏡像:docker push
- 幫助指令:docker image help
- 容器
- 創建容器 docker create
- 啓動容器 docker start
- 查看容器 docker ps
- 新建並啓動容器 docker run
- 查看容器輸出 docker logs
- 停止容器 docker pause、stop、prune
- 進入容器 docker attach/exec
- 刪除容器 docker rm
- 查看容器 docker inspect、top、stats
- 其他容器命令: cp、port
- docker容器中安裝Vim命令
docker簡介
docker是什麼
可以將docker容器理解爲一個輕量級的沙盒。每個容器內運行着一個應用,不同的容器相互隔離,容器之間也可以通過網絡互相通信。容器的創建和停止十分快速,容器自身對系統資源的額外需求也十分有限,遠遠低於傳統虛擬機。
爲什麼要使用docker
- 更快速的交付和部署。
- 更高效的資源利用。
- 更輕鬆的遷移和擴展。
- 更簡單的更新管理。
傳統方式是在硬件層面實現虛擬化,需要有額外的虛擬機管理應用和虛擬機操作系統層。Docker容器是在操作系統層面上實現虛擬化,直接複用本地主機的操作系統,因此更加輕量級。
核心概念
鏡像
Docker鏡像類似於虛擬機鏡像,可以將它理解爲一個只讀的模板。鏡像是創建Docker容器的基礎。
例如,一個鏡像包含一個基本的操作系統環境,裏面僅安裝了Apache應用程序,則可以把它稱爲一個Apache鏡像。
容器
Docker容器類似於一個輕量級的沙箱,Docker利用容器來運行和隔離應用。
容器是從鏡像創建的應用運行實例。它可以啓動,開始,停止,刪除,而這些容器都是彼此相互隔離,互不可見的。
倉庫
Docker倉庫類似於代碼倉庫,是Docker集中存放鏡像文件的場所。
Docker命令
鏡像
獲取鏡像:docker pull
docker pull 鏡像名稱:標籤
查看鏡像信息
列出所有鏡像:docker images
docker images 或 docker image ls
添加鏡像標籤:docker tag
使用tag命令添加鏡像標籤 docker tag
查看鏡像詳細信息:docker inspect
docker inspect 鏡像id
查看鏡像歷史:docker history
搜尋鏡像:docker search
docker search mysql
刪除鏡像:docker rm
docker rmi 鏡像id 或 docker image rm 鏡像id
清理鏡像:docker prune
docker image prune
上傳鏡像:docker push
docker push 鏡像名稱:標籤
幫助指令:docker image help
容器
創建容器 docker create
docker create -it 鏡像名稱:標籤
使用create命令新建的容器處於停止狀態,可以使用docker start命令來啓動它
啓動容器 docker start
將停止狀態的容器重新啓動
docker start 容器id
docker restart 容器id 先將一個運行態的容器先終止,然後再重新啓動
查看容器 docker ps
docker ps
查看所有容器的id
docker ps -qa
新建並啓動容器 docker run
docker run -it ubuntu:18.04 /bin/bash
-t:讓docker分配一個僞終端,並綁定到容器的標準輸入上。
-i:則讓容器的標準輸入保持打開
更多命令選項可以通過man docker-run
來查看
進入容器內部後,可以通過Ctrl+d或者輸入exit命令來退出容器
當用戶使用exit命令退出bash進程之後,容器也會自動退出。
-d:可以通過添加-d參數來容器在後臺以守護態形式運行
查看容器輸出 docker logs
停止容器 docker pause、stop、prune
暫停容器
docker pause 容器id
恢復容器
docker unpause 容器id
終止容器
docker stop 容器id
此時執行 docker container prune 會自動清除掉所有處於停止狀態的容器
處於停止狀態的容器,可以通過docker start命令來重新啓動
進入容器 docker attach/exec
- attach
attach是Docker自帶的命令
docker attach 容器id
使用attach有時候並不方便,當多個窗口同時attach到同一個容器的時候,所有的窗口都會同步顯示,當某個窗口因命令阻塞時,其他窗口也無法執行操作了。
-
exec
docker exec -it 容器id /bin/bash
刪除容器 docker rm
docker rm 容器id
查看容器 docker inspect、top、stats
- 查看容器詳情:inspect
docker container inspect 容器id
- 查看容器內進程:top
docker top 容器id
- 查看統計信息:stats
docker stats
其他容器命令: cp、port
- 複製文件:cp
container cp命令支持在容器和主機之間複製文件。
將本地的路徑data複製到test容器的/tmp路徑下:
docker cp data test:/tmp/
- 查看端口映射:port
docker container port 容器id
- 幫助命令:docker container help
docker容器中安裝Vim命令
apt-get update
這個命令的作用是:同步 /etc/apt/sources.list 和 /etc/apt/sources.list.d 中列出的源的索引,這樣才能獲取到最新的軟件包。
apt-get install vim