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