1. 程式人生 > >Docker的環境搭建與使用

Docker的環境搭建與使用

一.Docker的環境搭建

         前言:本章介紹下在Ubuntu上的環境搭建過程
1.首先介紹下Docker:

這是Docker與傳統的虛擬機器服務差別
PS:具體的介紹我在這裡就不再贅述了,本文主要具體介紹下搭建過程與使用方法。

2.那麼首先我們來搭建Docker服務

①:命令:uname -a(檢視當前Linux的核心版本)

保證核心版本高於3.08否則會出現安裝失敗
uname -a 命令

②:命令:sudo apt-get install -y docker.io

    ps:有的教程會指出使用 sudo apt-get install docker ,該命令下安裝的docker版本號可能過低,可能出現這種那種問題。
    執行命令:sudo ln -sf /usr/bin/docker.io /usr/local/bin/docker
    執行命令:sudo sed -i '$acomplete -F _docker docker' /etc/bash_completion.d/docker.io
    安裝完成後執行命令 docker version檢視是否安裝成功

docker version命令
至此,docker服務已經搭建完畢了。

3.建立docker容器的映象

①:命令:sudo docker pull ubuntu:14.04//搭建容器的環境

        PS:過程大概需要下載60M左右的檔案,會耗費一點時間(建議在VPN環境下)

②:命令:sudo docker images //檢視映象

sudo docker
Ps:這是我所建立的一些映象,可以看到最小的映象只有100多M。

4.擁有映象之後,可以通過映象建立容器

    這裡有一個警告:建立 的容器在exit後無法儲存修改。(具體解決辦法在後面會介紹)

我們可以通過IMAGE ID 或者REPOSITORY來建立容器。
命令:sudo docker run -i -t -v /home/lwc/:/data/software/ 4a725d3b3b1c /bin/bash //啟動容器
其中

ps: docker run <相關引數> <映象 ID> <初始命令>

-i:表示以“互動模式”執行容器
-t:表示容器啟動後會進入其命令列
-v:表示需要將本地哪個目錄掛載到容器中,
格式:-v <宿主機目錄>:<容器目錄>
-v 引數我推薦在建立第一個容器的時候加上,把宿主機的你想要的檔案copy到容器的你想要的位置。

比如說你的宿主機上有jdk 你可以吧jdk打個包copy到home目錄下然後跟平時一樣搭建好java的開發環境。

注意:先別急著exit
執行命令:sudo docker ps//檢視目前正在執行的docker
這裡寫圖片描述


可以看到你正在執行的容器資訊,
前面我提到若過現在你exit那麼就不會儲存你的修改。
不過你可以把這個容器儲存提交為一個新的映象

命令:docker commit CONTAINER ID 你的自定義的新容器的名字//只有這個方法能把操作過的容器儲存起來以後接著用

注意:現有映象後有容器
儲存之後 執行:exit。
接著命令:sudo docker images就可以看到做過修改的容器被儲存提交為新的映象。

二:docker的使用:
遷移容器和映象:

export與import命令使用:

export匯出容器會丟失歷史記錄和元資料,類似與快照

先建立測試容器:

$ sudo docker exec web touch /opt/test.txt

$ sudo docker exec web ls /opt

test.txt

執行匯出:

$ sudo docker export web > web.tar

執行匯入:

$ cat web.tar | sudo docker import - web:v2

$ sudo docker images

wKiom1aHmtuhyu9UAAAHiNrmLo0553.png$ sudo docker run -itd –name web_v2 web:v2 /bin/bash

啟動這個映象要加/bin/bash,否則報錯Error response from daemon: No command specified

$ sudo docker exec web_v2 ls /opt

test.txt

總結:通過export命令也可以將容器裡的資料儲存,並可以遷移到別的docker主機

save與load命令使用:

一般用於遷移映象到別處

匯出:

$ sudo docker save web > web.tar

匯入:

$ sudo docker load < ubuntu.tar

注:不會丟棄歷史記錄和元資料,並可以回滾版本。啟動不用加/bin/bash
結尾。