docker的安裝與基本使用

1 docker簡介

        這裏先對docker做一個簡介。Docker ——一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到一個可移植的鏡像中,然後發佈到任何流行的Linux或Windows 機器上,也可以實現虛擬化。容器是完全使用沙箱機制,相互之間不會有任何接口。

 

2 安裝

        這裏介紹的是centos7環境下對於docker的安裝,安裝分爲以下五個步驟。

2.1 更新yum

        這裏採用yum去安裝docker,所以先將yum更新到最新,命令如下。

sudo yum update

2.2 安裝工具與依賴

        使用yum安裝docker還需要三個依賴,install的命令如下。

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

2.3 設置阿里云爲yum源

        類似使用maven、npm等都需要更改爲國內的數據源,否則會連接國外的地址,速度可想而知。更改yum源的命令如下。

sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

2.4 install

        安裝docker,這裏採用的是docker的社區版本docker-ce,它是一個免費版本,而docker的企業版本docker-ee是收費的。命令如下。

sudo yum install docker-ce

2.5 查看docker版本

        安裝完成之後,查看docker的版本,若是有正確顯示,表示安裝已成功,命令如下。

docker -v

 

3 基本使用

        docker有兩個重要的概念,一個是鏡像,一個是容器,鏡像與容器的關係可以類比爲面向對象中類與對象的關係,使用docker,先安裝鏡像到docker,然後運行鏡像,這個運行着的東西,稱之爲容器。

3.1 設置鏡像下載地址

        這一個就和maven遠程倉庫地址類似,必須設置,不然會下載速度會很慢,設置鏡像加速器的操作是這樣的。

        (1) 編輯/etc/docker/daemon.json(如果沒有就創建一個)文件;

vi /etc/docker/daemon.json

     (2)在文件中寫入鏡像下載的地址,可選的有163、中科大或者阿里的,配置阿里的地址需要在阿里雲中查看“容器鏡像服務”的地址(免費),阿里雲提供的地址下載質量是比較高的。另外,這裏有一個163的地址是通用地址,也可以使用。

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

    (3)重啓docker及守護線程,命令如下。

systemctl daemon-reload
systemctl restart docker

3.2 docker啓動與停止

        啓動docker

systemctl start docker

        停止docker

systemctl stop docker

        重啓docker

systemctl restart docker

        查看docker狀態

systemctl status docker

        查看docker信息

docker info

        設置開機自動啓動docker

systemctl enable docker

 

4 鏡像

        docker中鏡像的概念可以類比爲虛擬機中虛擬文件,docker通過鏡像創建容器,容器運行時就是一個運行着的進程。

4.1 查看鏡像

        查看鏡像列表的命令如下。

docker images

        執行此命令後會出現一個列表,每一列字段表示的含義分別爲

        REPOSITORY 鏡像名稱

        TAG 鏡像標籤,用於版本的標識

        IMAGE 鏡像id

        CREATED 鏡像的創建日期,此日期爲鏡像在遠程倉庫中創建的日期,而非本地拉取鏡像的日期

4.2 搜索鏡像

        需要在遠程倉庫中通過關鍵字搜索鏡像,搜索的命令如下。

docker search 鏡像名稱

        比如,要搜索centos的鏡像,可以執行如下命令。

docker search centos

        執行該命令後,顯示的列表各個字段的意義如下。

        NAME 名稱

        DESCRIPTION 鏡像描述

        STARTS 類似github的STARTS,表示該鏡像的熱度

        OFFICIAL 是否官方

        AUTOMATED 自動構建,標識鏡像是否由Docker Hub自動構建流程創建

4.3 拉取鏡像

        拉取鏡像是將鏡像從遠程拉取到本地,命令如下。

docker pull 鏡像名稱:tag名稱

        比如要拉取一個centos的鏡像,可以執行如下命令。

docker pull centos:7

        如果不加tag也可,拉取的就是最新版本,比如:

docker pull centos

4.4 刪除鏡像

        根據鏡像的id刪除一個鏡像的命令如下。

docker rmi 鏡像id

        或者,刪除所有的鏡像可以執行以下命令。

docker rmi `docker images -q`

 

5 容器

        容器是根據鏡像創建的,類似於面向對象中根據類創建了對象。

5.1 查看容器

        查看正在運行的容器可以使用以下命令。

docker ps

        查看所有容器(包括已停止的)的命令如下。

docker ps -a

        查看最後一次運行的容器命令如下。

docker ps -l

        查看已停止的容器命令如下。

docker ps -f status=exited

5.2 創建容器

        創建容器有兩種方式,一種是以交互式方式創建,一種是以守護式方式創建。

        以交互式方式創建容器在創建容器當前窗口會進入到所創建的容器當中,比如,我要創建一個centos的容器,執行以下命令。

docker run -i -t --name=mycentos centos:7 /bin/bash

       -i表示創建後運行容器;

      -t表示容器啓動後會進入它的命令行

      --name=後面的內容是給所創建的容器所起的名字

        以守護式方式創建容器的命令如下。

docker run -d -i --name=mydcentos centos:7

        -d表示以守護式方式創建容器

        -t表示容器啓動後會進入它的命令行

        因爲是以守護方式創建運行的容器,需要進入到這一個運行的容器,可以執行如下命令。

docker exec -i -t mydcentos /bin/bash

5.3 退出容器

        以交互式方式創建的容器若退出,會停止容器運行;而以守護式方式創建的容器退出後會繼續運行。退出容器的命令如下。

exit

5.4 啓動容器

        容器在停止後需要啓動,可以使用如下命令。

docker start 容器id(或容器名稱)

5.5 停止容器

        啓動容器後需要停止可以使用如下命令。

docker stop 容器id(或容器名稱)

5.6 拷貝文件

        將宿主機中的文件拷貝到docker中可以使用如下命令。

docker cp 需要拷貝的文件或目錄 容器名稱:容器目錄

        將docker中的文件拷貝到宿主機中可以使用如下命令。

docker cp 容器名稱:容器目錄 需要拷貝的文件或目錄

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章