很有用的學習**:
1、什麼是docker:
docker 屬於 linux 容器的一種封裝,提供簡單易用的容器使用介面。它是目前最流行的 linux 容器解決方案。
docker 將應用程式與該程式的依賴,打包在乙個檔案裡面。執行這個檔案,就會生成乙個虛擬容器。
程式在這個虛擬容器裡執行,就好像在真實的物理機上執行一樣。有了 docker,就不用擔心環境問題。
總體來說,docker 的介面相當簡單,使用者可以方便地建立和使用容器,把自己的應用放入容器。
容器還可以進行版本管理、複製、分享、修改,就像管理普通的**一樣。
2、docker的用途
docker 的主要用途,目前有三大類。
(1)提供一次性的環境。比如,本地測試他人的軟體、持續整合的時候提供單元測試和構建的環境。
(2)提供彈性的雲服務。因為 docker 容器可以隨開隨關,很適合動態擴容和縮容。
(3)組建微服務架構。通過多個容器,一台機器可以跑多個服務,因此在本機就可以模擬出微服務架構。
3、docker的安裝:
ubuntu:
驗證安裝成功:$docker version
docker需要使用者具有sudo許可權
docker 是伺服器----客戶端架構。命令列執行docker命令的時候,需要本機有 docker 服務。如果這項服務沒有啟動,可以用下面的命令啟動:
#service 命令的用法
$ sudo service docker start
#systemctl 命令的用法
$ sudo systemctl start docker
4、image檔案
docker 把應用程式及其依賴,打包在image檔案中。
只有通過這個檔案,才能生成 docker 容器。image 檔案可以看作是容器的模板。docker 根據 image 檔案生成容器的例項。同乙個 image 檔案,可以生成多個同時執行的容器例項。
image 是二進位制檔案。實際開發中,乙個 image 檔案往往通過繼承另乙個 image 檔案,加上一些個性化設定而生成。舉例來說,你可以在 ubuntu 的 image 基礎上,往裡面加入 apache 伺服器,形成你的 image。
$ docker image ls
$ docker image rm [imagename]
image 檔案是通用的,一台機器的 image 檔案拷貝到另一台機器,照樣可以使用。一般來說,為了節省時間,我們應該盡量使用別人製作好的 image 檔案,而不是自己製作。即使要定製,也應該基於別人的 image 檔案進行加工,而不是從零開始製作。
為了方便共享,image 檔案製作完成後,可以上傳到網上的倉庫。docker 的官方倉庫 docker hub 是最重要、最常用的 image 倉庫。此外,**自己製作的 image 檔案也是可以的。
5、例項
使用 $sudo docker container run hello-world
自動抓取image檔案,並且生成乙個正在執行的容器例項。
6、容器檔案
image 檔案生成的容器例項,本身也是乙個檔案,成為容器檔案。
也就是說,一旦容器生成,就會同時存在兩個檔案: image 檔案和容器檔案。而且關閉容器並不會刪除容器檔案,只是容器停止執行而已。
//列出本機正在執行的容器
$sudo docker container ls
#列出本機所有容器,包括終止執行的容器
$ docker container ls --all
終止執行的容器檔案,依然會佔據硬碟空間,可以使用docker container rm命令刪除。
$ docker container rm [containerid
7、dockerfile 檔案
學會使用 image 檔案以後,接下來的問題就是,如何可以生成 image 檔案?如果你要推廣自己的軟體,勢必要自己製作 image 檔案。
這就需要用到 dockerfile 檔案。它是乙個文字檔案,用來配置 image。docker 根據 該檔案生成二進位制的 image 檔案。
上述**含義如下:
from node:8.4:該 image 檔案繼承官方的 node image,冒號表示標籤,這裡標籤是8.4,即8.4版本的 node。
expose 3000:將容器 3000 埠暴露出來, 允許外部連線這個埠。
(4):建立image 檔案
有了dockerfile檔案之後,就可以使用docker image build 命令建立image 檔案了。
$ docker image build -t koa-demo .
上面**中,-t引數用來指定 image 檔案的名字,後面還可以用冒號指定標籤。如果不指定,預設的標籤就是latest。最後的那個點表示 dockerfile 檔案所在的路徑,上例是當前路徑,所以是乙個點
如果執行成功個,就可以看到新生成的image 檔案koa-demo了。
$ docker image ls
(5):生成容器
$ docker container run 命令會從image檔案生成容器。
$ docker container run -p 8000:3000 -it koa-demo /bin/bash
-p引數:容器的 3000 埠對映到本機的 8000 埠。
-it引數:容器的 shell 對映到當前的 shell,然後你在本機視窗輸入的命令,就會傳入容器。
koa-demo:0.0.1:image 檔案的名字(如果有標籤,還需要提供標籤,預設是 latest 標籤)。
/bin/bash:容器啟動以後,內部第乙個執行的命令。這裡是啟動 bash,保證使用者可以使用 shell。
如果一切正常,執行上面的命令以後,就會返回乙個命令列提示符。
這表示你已經在容器裡面了,返回的提示符就是容器內部的 shell 提示符。執行下面的命令。
(6):現在,在容器的命令列,按下 ctrl + c 停止 node 程序,然後按下 ctrl + d (或者輸入 exit)退出容器。此外,也可以用docker container kill終止容器執行。
# 在本機的另乙個終端視窗,查出容器的 id
$ docker container ls
# 停止指定的容器執行
$ docker container kill [containerid]
# 查出容器的 id
$ docker container ls --all
# 刪除指定的容器檔案
$ docker container rm [containerid]
也可以使用docker container run命令的--rm引數,在容器終止執行後自動刪除容器檔案。
$ docker container run --rm -p 8000:3000 -it koa-demo /bin/bash
Docker安裝和基本使用
配置docker阿里雲的yum源 curl o etc yum.repos.d docker ce.repo 生成yum快取 yum clean all yum makecache 使用yum安裝 yum install docker ce y 配置阿里雲映象倉庫加速位址 阿里控制台獲取個人加速位址...
Docker的安裝和基本使用
通過虛擬化技術我們可以在服務上執行多個不同環境的虛擬機器,大大提高我們對伺服器的利用率!虛擬機器的硬體的彈性擴充套件也方便了我們後期虛擬機器配置的提公升 統一的管理平台也會大大降低我們的維護成本 容器本身的意思是指可以存放東西的器皿,我們這裡可以把容器想想成是乙個盒子 箱子!裡面存放的就是我們要執行...
Docker安裝和基本使用和介紹
1.為什麼tomcat由原來的10m左右變成了現在的500m?因為現在的tomcat不僅僅是乙個tomcat,還包含了執行時需要的環境 jdk centos,所以變大了。2.為什麼centos由原來的3.6g變成了現在的203m?由於是在虛擬機器的基礎上建立虛擬機器,所以可以復用bootfs,包變小...