docker基礎之常用命令

docker簡介

docker是什麼

可以將docker容器理解爲一個輕量級的沙盒。每個容器內運行着一個應用,不同的容器相互隔離,容器之間也可以通過網絡互相通信。容器的創建和停止十分快速,容器自身對系統資源的額外需求也十分有限,遠遠低於傳統虛擬機。

爲什麼要使用docker

  1. 更快速的交付和部署。
  2. 更高效的資源利用。
  3. 更輕鬆的遷移和擴展。
  4. 更簡單的更新管理。

image-20200217160320284

image-20200217160631107

傳統方式是在硬件層面實現虛擬化,需要有額外的虛擬機管理應用和虛擬機操作系統層。Docker容器是在操作系統層面上實現虛擬化,直接複用本地主機的操作系統,因此更加輕量級。

核心概念

鏡像

Docker鏡像類似於虛擬機鏡像,可以將它理解爲一個只讀的模板。鏡像是創建Docker容器的基礎。

例如,一個鏡像包含一個基本的操作系統環境,裏面僅安裝了Apache應用程序,則可以把它稱爲一個Apache鏡像。

容器

Docker容器類似於一個輕量級的沙箱,Docker利用容器來運行和隔離應用。

容器是從鏡像創建的應用運行實例。它可以啓動,開始,停止,刪除,而這些容器都是彼此相互隔離,互不可見的。

倉庫

Docker倉庫類似於代碼倉庫,是Docker集中存放鏡像文件的場所。

Docker命令

鏡像

獲取鏡像:docker pull

docker pull 鏡像名稱:標籤

image-20200217162127066

image-20200217162146281

查看鏡像信息

列出所有鏡像:docker images

docker images 或 docker image ls

image-20200217162425799

添加鏡像標籤:docker tag

使用tag命令添加鏡像標籤 docker tag

image-20200217162712116

查看鏡像詳細信息:docker inspect

docker inspect 鏡像id

image-20200217163040349

image-20200217163055352

查看鏡像歷史:docker history

image-20200217163142507

搜尋鏡像:docker search

docker search mysql

刪除鏡像:docker rm

docker rmi 鏡像id 或 docker image rm 鏡像id

image-20200217163501000

清理鏡像:docker prune

docker image prune

image-20200217163827152

image-20200217163811155

上傳鏡像:docker push

docker push 鏡像名稱:標籤

image-20200217164049768

幫助指令:docker image help

容器

創建容器 docker create

docker create -it 鏡像名稱:標籤

使用create命令新建的容器處於停止狀態,可以使用docker start命令來啓動它

image-20200217165343980

image-20200217170253277

image-20200217170316273

image-20200217170331628

image-20200217170351204

啓動容器 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

image-20200217170553523

停止容器 docker pause、stop、prune

暫停容器
docker pause 容器id
恢復容器
docker unpause 容器id

終止容器
docker stop 容器id

此時執行 docker container prune 會自動清除掉所有處於停止狀態的容器

處於停止狀態的容器,可以通過docker start命令來重新啓動

進入容器 docker attach/exec

  1. attach
attach是Docker自帶的命令
docker attach 容器id

使用attach有時候並不方便,當多個窗口同時attach到同一個容器的時候,所有的窗口都會同步顯示,當某個窗口因命令阻塞時,其他窗口也無法執行操作了。

  1. exec

    docker exec -it 容器id /bin/bash
    

image-20200217171515480
image-20200217171556932

刪除容器 docker rm

docker rm 容器id

image-20200217171725181

image-20200217171745968

查看容器 docker inspect、top、stats

  1. 查看容器詳情:inspect
docker container inspect 容器id

image-20200217172520319

  1. 查看容器內進程:top
docker top 容器id

image-20200217172544867

  1. 查看統計信息:stats
docker stats

image-20200217172645199

其他容器命令: cp、port

  1. 複製文件:cp

container cp命令支持在容器和主機之間複製文件。

將本地的路徑data複製到test容器的/tmp路徑下:
docker cp data test:/tmp/

image-20200217173126430

  1. 查看端口映射:port
docker container port 容器id

image-20200217173209173

  1. 幫助命令:docker container help

docker容器中安裝Vim命令

apt-get update

這個命令的作用是:同步 /etc/apt/sources.list 和 /etc/apt/sources.list.d 中列出的源的索引,這樣才能獲取到最新的軟件包。
 
apt-get install vim
發佈了47 篇原創文章 · 獲贊 17 · 訪問量 4575
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章