天天看點

Docker鏡像操作/Docker容器操作/Docker将容器儲存為鏡像/Docker鏡像備份與遷移

出處:https://blog.csdn.net/qq_35531549/article/details/88958715

1.Docker安裝
2. Docker啟動與停止

安裝完成Docker後,預設已經啟動了docker服務,如需手動控制docker服務的啟停,可執行如下指令

# 啟動docker
sudo service docker start

# 停止docker
sudo service docker stop

# 重新開機docker
sudo service docker restart
           
3.Docker鏡像操作
  • 列出鏡像
Docker鏡像操作/Docker容器操作/Docker将容器儲存為鏡像/Docker鏡像備份與遷移

REPOSITORY:鏡像所在的倉庫名稱

TAG:鏡像标簽

IMAGEID:鏡像ID

CREATED:鏡像的建立日期(不是擷取該鏡像的日期)

SIZE:鏡像大小

為了區分同一個倉庫下的不同鏡像,Docker 提供了一種稱為标簽(Tag)的功能。每個 鏡像在列出來時都帶有一個标簽,例如latest、 12.10、12.04 等等。每個标簽對組成特定鏡像的一 些鏡像層進行标記(比如,标簽 12.04 就是對所有 Ubuntu12.04 鏡像層的标記)。這種機制 使得同一個倉庫中可以存儲多個鏡像。— 版本号

我們在運作同一個倉庫中的不同鏡像時,可以通過在倉庫名後面加上一個冒号和标簽名 來指定該倉庫中的某一具體的鏡像,例如 docker run --name custom_container_name –i –t docker.io/ubunto:12.04 /bin/bash,表明從鏡像 Ubuntu:12.04 啟動一個容器,而這個鏡像的操 作系統就是 Ubuntu:12.04。在建構容器時指定倉庫的标簽也是一個好習慣。

  • 拉取鏡像

    Docker維護了鏡像倉庫,分為共有和私有兩種,共有的官方倉庫Docker Hub(https://hub.docker.com/)是最重要最常用的鏡像倉庫。私有倉庫(Private Registry)是開發者或者企業自建的鏡像存儲庫,通常用來儲存企業 内部的 Docker 鏡像,用于内部開發流程和産品的釋出、版本控制。

  • 要想擷取某個鏡像,我們可以使用pull指令,從倉庫中拉取鏡像到本地,如
docker image pull library/hello-world
           

上面代碼中,docker image pull是抓取 image 檔案的指令。library/hello-world是 image 檔案在倉庫裡面的位置,其中library是 image 檔案所在的組,hello-world是 image 檔案的名字。

由于 Docker 官方提供的 image 檔案,都放在library組裡面,是以它的是預設組,可以省略。

  • 是以,上面的指令可以寫成下面這樣。
docker image pull hello-world
           
  • 删除鏡像
docker image rm 鏡像名或鏡像id
           
docker image rm hello-world
           
4. Docker 容器操作
  • 建立容器

常用可選參數說明:

-i 表示以“互動模式”運作容器

-t 表示容器啟動後會進入其指令行。加入這兩個參數後,容器建立就能登入進去。即 配置設定一個僞終端。

–name 為建立的容器命名

-v 表示目錄映射關系(前者是主控端目錄,後者是映射到主控端上的目錄,即 主控端目錄:容器中目錄),可以使 用多個-v 做多個目錄或檔案映射。注意:最好做目錄映射,在主控端上做修改,然後 共享到容器上。

-d 在run後面加上-d參數,則會建立一個守護式容器在背景運作(這樣建立容器後不 會自動登入容器,如果隻加-i -t 兩個參數,建立後就會自動進去容器)。

-p 表示端口映射,前者是主控端端口,後者是容器内的映射端口。可以使用多個-p 做多個端口映射

-e 為容器設定環境變量

–network=host 表示将主機的網絡環境映射到容器中,容器的網絡與主機相同

  • 互動式容器

    例如,建立一個互動式容器,并命名為myubuntu

docker run -it --name=myubuntu ubuntu /bin/bash
           

在容器中可以随意執行linux指令,就是一個ubuntu的環境,當執行exit指令退出時,該容器也随之停止。

  • 守護式容器

    建立一個守護式容器:如果對于一個需要長期運作的容器來說,我們可以建立一個守護式容器。在容器内部exit退出時,容器也不會停止。

docker run -dit --name=myubuntu2 ubuntu
           
  • 進入已運作的容器
docker exec -it 容器名或容器id 進入後執行的第一個指令
           

docker exec -it myubuntu2 /bin/bash
           
  • 檢視容器

列出本機正在運作的容器

列出本機所有容器,包括已經終止運作的

docker container ls --all
           
  • 停止與啟動容器

    停止一個已經在運作的容器

docker container stop 容器名或容器id
           
  • 啟動一個已經停止的容器
docker container start 容器名或容器id
           
  • kill掉一個已經在運作的容器
docker container kill 容器名或容器id
           
  • 删除容器
docker container rm 容器名或容器id
           
5. 将容器儲存為鏡像

我們可以通過如下指令将容器儲存為鏡像

docker commit 容器名 鏡像名
           
6. 鏡像備份與遷移

我們可以通過save指令将鏡像打包成檔案,拷貝給别人使用

docker save -o 儲存的檔案名 鏡像名
           

docker save -o ./ubuntu.tar ubuntu
           

在拿到鏡像檔案後,可以通過load方法,将鏡像加載到本地

docker load -i ./ubuntu.tar
           

7.将python項目部署到Docker