1. 程式人生 > >Docker的使用(二、安裝與操作)

Docker的使用(二、安裝與操作)

(二)安裝與操作

1. 在Ubuntu中安裝Docker

更新ubuntu的apt源索引

sudo apt-get update

安裝包允許apt通過HTTPS使用倉庫

sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    software-properties-common

新增Docker官方GPG key

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

設定Docker穩定版倉庫

sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable"

新增倉庫後,更新apt源索引

sudo apt-get update

安裝最新版Docker CE(社群版)

sudo apt-get install docker-ce

檢查Docker CE是否安裝正確

sudo docker run hello-world

出現如下資訊,表示安裝成功
在這裡插入圖片描述

為了避免每次命令都輸入sudo,可以設定使用者許可權,注意執行後須登出重新登入

sudo usermod -a -G docker $USER

2. 啟動與停止

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

# 啟動docker
sudo service docker start

# 停止docker
sudo service docker stop

# 重啟docker
sudo service docker restart

3. Docker映象操作

什麼是Docker映象

Docker 映象是由檔案系統疊加而成(是一種檔案的儲存形式)。最底端是一個檔案引 導系統,即 bootfs,這很像典型的 Linux/Unix 的引導檔案系統。Docker 使用者幾乎永遠不會和 引導系統有什麼互動。實際上,當一個容器啟動後,它將會被移動到記憶體中,而引導檔案系 統則會被解除安裝,以留出更多的記憶體供磁碟映象使用。Docker 容器啟動是需要一些檔案的, 而這些檔案就可以稱為 Docker 映象。
在這裡插入圖片描述

**Docker 把應用程式及其依賴,打包在 image 檔案裡面。**只有通過這個檔案,才能生成 Docker 容器。image 檔案可以看作是容器的模板。Docker 根據 image 檔案生成容器的例項。同一個 image 檔案,可以生成多個同時執行的容器例項。

image 是二進位制檔案。實際開發中,一個 image 檔案往往通過繼承另一個 image 檔案,加上一些個性化設定而生成。舉例來說,你可以在 Ubuntu 的 image 基礎上,往裡面加入 Apache 伺服器,形成你的 image。

image 檔案是通用的,一臺機器的 image 檔案拷貝到另一臺機器,照樣可以使用。一般來說,為了節省時間,我們應該儘量使用別人製作好的 image 檔案,而不是自己製作。即使要定製,也應該基於別人的 image 檔案進行加工,而不是從零開始製作。

為了方便共享,image 檔案製作完成後,可以上傳到網上的倉庫。Docker 的官方倉庫 Docker Hub 是最重要、最常用的 image 倉庫。此外,出售自己製作的 image 檔案也是可以的。

列出映象

docker image ls

在這裡插入圖片描述

  • 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 容器操作

建立容器

docker run [option] 映象名 [向啟動容器中傳入的命令]

常用可選引數說明:

  • -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

# 列出本機所有容器,包括已經終止執行的
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

相關推薦

Docker的使用(安裝操作)

(二)安裝與操作 1. 在Ubuntu中安裝Docker 更新ubuntu的apt源索引 sudo apt-get update 安裝包允許apt通過HTTPS使用倉庫 sudo apt-get install \ apt-transport-http

docker安裝操作

進行 ace -1 網站 bcg pms 服務 現在 div 準備和安裝 1.到這個路徑下下載docker engine: https://get.docker.com/rpm/1.7.1/centos-7/RPMS/x86_64/docker-engine-1.7.1-1

Docker for Windows安裝Linux+PHP開發環境搭建(

Docker for Windows安裝與Linux+PHP開發環境搭建(二) 上一篇講了docker安裝與環境搭建的步驟,這一次主要是介紹過程中遇到的錯誤情形及其錯誤處理方法: 1).執行docker pull local.registry.com:5000/php 或其他連線本地

大資料(十七):Hive簡介安裝基本操作

一、簡介         Hive由Facebook開源用於解決海量結構化日誌的資料統計。Hive是基於Hadoop的一個數據倉庫工具,可以將結構化的資料檔案對映為一張表,並提供類Sql查詢的功能。 hive本質是將HQL轉化為MapRedu

[Xcode10 實際操作]檢視手勢-(1)UIView檢視的基本使用

本文將演示在檢視控制器的根視圖裡新增兩個檢視物件。 1 import UIKit 2 3 class ViewController: UIViewController { 4 5 override func viewDidLoad() { 6 supe

ubuntu環境下docker安裝操作

只要按照本文的步驟一步步的走,就能正確的安裝docker並使用,ubuntu需要聯網   1. 在Ubuntu中安裝Docker 更新ubuntu的apt源索引 sudo apt-get update 安裝包允許apt通過HTTPS使用倉庫,(將下面的命令完全複製,然後貼上到

[Xcode10 實際操作]檢視手勢-(2)UIView檢視的層次關係

本文將演示建立三個檢視物件,其中第二個檢視是第三個檢視的父檢視。 現在開始編寫程式碼,實現這項功能 1 import UIKit 2 3 class ViewController: UIViewController { 4 5 override func viewDid

[Xcode10 實際操作]檢視手勢-(3)UIView檢視的基本操作

本文將實現檢視的新增與刪除,以及切換檢視在父檢視中的層次。 1 import UIKit 2 3 class ViewController: UIViewController { 4 5 override func viewDidLoad() { 6

[Xcode10 實際操作]檢視手勢-(4)給影象檢視新增邊框效果

本文將演示給圖片新增顏色相框 1 import UIKit 2 3 class ViewController: UIViewController { 4 5 override func viewDidLoad() { 6 super.viewDidLo

[Xcode10 實際操作]檢視手勢-(5)給影象檢視新增圓角效果

本文將演示給矩形圖片新增圓角效果 1 import UIKit 2 3 class ViewController: UIViewController { 4 5 override func viewDidLoad() { 6 super.viewDid

[Xcode10 實際操作]檢視手勢-(6)給影象檢視新增陰影效果

本文將演示給影象檢視新增陰影效果 1 import UIKit 2 3 class ViewController: UIViewController { 4 5 override func viewDidLoad() { 6 super.viewDid

[Xcode10 實際操作]檢視手勢-(8)UIView檢視的紋理填充

本文將演示將匯入的圖片作為紋理,平鋪整個螢幕。 往專案中匯入一張圖片。 點選底部左下角的圖示->【Import】->選擇需要匯入的圖片->【Open】 1 import UIKit 2 3 class ViewController: UIViewController

[Xcode10 實際操作]檢視手勢-(10)UITapGestureRecognizer手勢之單擊

本文將演示使用檢視的手勢功能,完成檢視的互動操作。 1 import UIKit 2 3 class ViewController: UIViewController { 4 5 override func viewDidLoad() { 6 supe

【重寫 CryptoJS】WordArray 操作

原始碼地址:entronad/crypto-es   【重寫 CryptoJS】一、ECMAScript 類與繼承 我們常見的各種編碼、雜湊、加密演算法,其基礎都是位操作。 不管是對哪種資料型別,位操作物件的本質都是一段連續的位元序列。從效能的角度講,位操

3dsmax2014的下載安裝註冊激活教程詳解

com cor 殺毒 系統 3dmax http 後退 tar 輸入 3dsmax2014的下載、安裝與註冊激活教程,雖然網上類似的教程文章不勝枚舉,但大多比較粗枝大葉,沒有詳細的步驟,尤其對於電腦小白來說,更是不易參考,今天我就教大家如何註冊破解3dsmax2014吧!

ASP.Net WebForm溫故知新學習筆記:ViewStateUpdatePanel探秘

ole htable nbsp 工具 utf cti abi divide 優點 原文地址:http://www.cnblogs.com/edisonchou/p/3901559.html 開篇:經歷了上一篇《aspx與服務器控件探秘》後,我們了解了aspx和服務器控件

【Git】安裝配置

config 查看 projects set col utl font ssl user 一、Git安裝   Linux 1 $ apt-get install libcurl4-gnutls-dev libexpat1-dev gettext 2 libz-dev

Rational Rose_2007的下載安裝破解--UML建模軟件

加載 ext img 百度 jpg 相關 -s license -- 一、下載Rational.Rose_2007安裝包與破解文件 對於Rational.Rose_2007,您可以到我的百度網盤計算機相關專業所用軟件---百度雲鏈接下載下載,另外附上安裝需要的通行證(破解

MySQL 5.6 (Win7 64位)下載安裝配置圖文教程

服務 建立 basedir 字長 目錄 之前 配置環境 改名 一次 一. 工具 Win7 64位操作系統 二. 步驟 第一步:下載安裝包 下載 地址:http://www.mysql.com/ 截止到目前(2016/7/24) ,官網的最新版本是5.7.13

Navicat for MySQL下載安裝破解

for 完成後 失效 exe 進入 .html 關閉 百度 logs 參考來源:https://www.cnblogs.com/da19951208/p/6403607.html 一:下載Navicat for MySQL   進入 Navicat for MySQL