国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

OSX上Docker快速上手-以部署node.js環境為例

oujie / 737人閱讀

摘要:簡介是一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到一個可移植的容器中,然后發布到任何流行的機器上,也可以實現虛擬化。該虛擬機需要安裝操作系統以便在您機上運行。

Docker簡介

Docker 是一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到一個可移植的容器中,然后發布到任何流行的 Linux 機器上,也可以實現虛擬化。

docker的英文本意是碼頭工人,也就是搬運工,這種搬運工搬運的是集裝箱(Container),集裝箱里面裝的可不是商品貨物,而是任意類型的App,Docker把App(叫Payload)裝在Container內,通過Linux Container技術的包裝將App變成一種標準化的、可移植的、自管理的組件,這種組件可以在你的latop上開發、調試、運行,最終非常方便和一致地運行在production環境下。[1]

那Image和Container的區別是什么?很簡單,他們的區別僅僅是一個是只讀的層,一個是可寫的層,你可以使用docker commit 命令,將你的Container變成一個Image,也就是提交你所運行的Container的修改內容,變成一個新的只讀的Image,這非常類似于git commit命令,感覺真棒!

容器 v.s. 虛擬機[2]

這兩者到底什么區別,我們不細說,只上個總結:

容器是軟件虛擬化,而虛擬機是硬件虛擬化

容器是利用操作系統(linux kernel)特性創建的一個 進程

容器是什么
本質上來說,容器其實就是一個特殊的進程。相比于普通進程,這個進程(容器)之所以特殊,
是因為它有自己獨立的

UTS(Unix Time-sharing System):可以擁有獨立的主機名和域名

PID:可以擁有獨立的進程ID

NET: 可以擁有獨立的網絡設備

IPC:可以擁有獨立的進程間通訊

NS:可以擁有獨立的文件系統(rootfs)
每個方面都是一種namespace,如果一個進程擁有這些獨立的namespace,便可以跟其他進程隔離開來,

那么該進程看起來是不是就像一個獨立的主機呢?對,這就達到我們的目的啦!

安裝方式

docker的安裝方式目前查到的有好幾種,比如通過boot2Docker命令行等,不過官方提供了Docker Toobox來大大方便了我們在非linux系統輕松安裝上docker,本文也將使用docker官方提供的方式進行安裝

Docker Toolbox 提供了以下工具:

用于運行 docker-machine 二進制文件的 Docker Machine

用于運行 docker 二進行文件的 Docker Engine

用于運行 docker-compose 二進行文件的 Docker Compose (Mac 特有)

Kitematic,Docker 的圖形用戶界面

用于 Docker 命令行環且預先配置好的 shell

Oracle VM VirtualBox

由于 Docker 的后臺程序使用了 Linux 特有的內核特性,所以您不能直接在 OS X 上運行 Docker。相反,您必須使用 docker-machine 來創建并附加一臺虛擬機(VM)。該虛擬機需要安裝 Linux 操作系統以便在您 Mac 機上運行 Docker。

安裝

下載Toolbox
T國內用戶很遺憾,官方地址被墻,通過官方地址下載toobox安裝沒法完成,我找到了國內的源,網址貼上http://get.daocloud.io/#install-toolbox, 點擊進入下載操作系統對應的版本就好了

點擊下載文件進行安裝
跟著步驟一路點繼續就好了,走到最后一步,點擊左邊的圖標queck start,這時會開啟一個命令行,然后開始下載boot2docker.iso鏡像,下載完成后會創建一個default虛擬機,完成之后如下圖所示:


本人是在OS X中進行安裝的,其他操作系統安裝請點擊這里

使用Docker 創建docker mechine

其實已經創建好啦一個叫default的docker machine(可以想象為一個虛擬機), 我們可以再手動創建一個便于后續比較理解

docker-machine creat --driver virtualbox docker-node

執行命令后,我們便創建了一個由virtualbox驅動的名稱叫做docker-node的docker-machine

查看創建的docker mechine
docker-machine ls


這時可以從看到剛才創建的虛擬機和安裝docker時創建的default虛擬機,active為*表示當前被激活的虛擬機,url表示訪問到虛擬機到獨立ip

查看docker mechine的環境變量
docker-machine env docker-node

設置docker mechine為激活態
eval "$(docker-machine env docker-node)"

這時再次查看創建的虛擬主機,可以發現*已經被切換為了命令中設置的虛擬機了

拉取一個遠程鏡像(image),部署容器環境(container)
docker pull daocloud.io/library/node:0.10-onbuild

pull 后邊跟的是鏡像倉庫的地址,類似于從Git中的pull的用法

查看下載或自己構建的鏡像
docker images

運行容器
docker run -i -t --name shell daocloud.io/library/node:0.10-onbuild /bin/bash

命令有點長,參數也比較多,通過docker run --help查看到相關參數的解釋,該命令的大概意思就是運行了一個bash,而且當前bash屬于容器環境,非主機環境,可以在shell里執行你想要執行的任何命令,比如運行程序啊什么的。這里我對容器環境做了一下檢查

ps:注意鏡像名稱后面一定要跟上tag,如果不寫上tag的話,系統會直接再創建一個鏡像

)

退出容器

ctrl+p ctrl+q
(此時其實后臺還在運行)

查看容器運行列表
docker ps -a

停止容器
docker stop bed5

stop后面跟container id 的前面幾位即可

刪除容器
docker rm bed5

刪除后通過docker ps -a便不能再看到對應的container了

到此為止,docker的基本操作就差不多都演示完啦,本人也是docker的初學者,如果有什么不正確的地方還請多多擔待,也歡迎向本人指正

最近一直在工作,等時間多些了我會再更新一篇使用docker打包項目的博客,感興趣的可以關注一下本人,謝謝啦。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/26596.html

相關文章

  • 一步步學會用docker部署應用(nodejs版)

    摘要:本文將采用技術部署一個簡單的應用,它包括一個簡單的前置網關服務器以及業務服務器。同時使用配置特定鏡像,采用進行容器編排,解決依賴網絡等問題。服務器首先搭建一個單節點緩存服務,采用官方提供的最新版鏡像,無需構建。 docker是一種虛擬化技術,可以在內核層隔離資源。因此對于上層應用而言,采用docker技術可以達到類似于虛擬機的沙盒環境。這大大簡化了應用部署,讓運維人員無需陷入無止境繁瑣...

    canger 評論0 收藏0
  • 一步步學會用docker部署應用(nodejs版)

    摘要:本文將采用技術部署一個簡單的應用,它包括一個簡單的前置網關服務器以及業務服務器。同時使用配置特定鏡像,采用進行容器編排,解決依賴網絡等問題。服務器首先搭建一個單節點緩存服務,采用官方提供的最新版鏡像,無需構建。 docker是一種虛擬化技術,可以在內核層隔離資源。因此對于上層應用而言,采用docker技術可以達到類似于虛擬機的沙盒環境。這大大簡化了應用部署,讓運維人員無需陷入無止境繁瑣...

    BlackMass 評論0 收藏0
  • Windows下運用Docker部署Node.js開發環境

    摘要:開始在下部署開發環境著實遍地坑,每遇到一個問題都要去原因再試圖解決。該鏡像就是已經安裝了環境的鏡像命名為。在下,期望運行應用的容器中,同樣可以執行該命令。 開始 在windows下部署nodejs開發環境著實遍地坑,每遇到一個問題都要去google原因再試圖解決。而且如果你想把你寫好的應用交給別人跑跑看,他可能同樣需要折騰很久才能真正在他的環境下運行起來。被坑了好些時日最終還是放棄,轉...

    canger 評論0 收藏0
  • Windows下運用Docker部署Node.js開發環境

    摘要:開始在下部署開發環境著實遍地坑,每遇到一個問題都要去原因再試圖解決。該鏡像就是已經安裝了環境的鏡像命名為。在下,期望運行應用的容器中,同樣可以執行該命令。 開始 在windows下部署nodejs開發環境著實遍地坑,每遇到一個問題都要去google原因再試圖解決。而且如果你想把你寫好的應用交給別人跑跑看,他可能同樣需要折騰很久才能真正在他的環境下運行起來。被坑了好些時日最終還是放棄,轉...

    ChristmasBoy 評論0 收藏0
  • 帶你理解Kubernetes,部署一個Node應用

    摘要:應用實例創建完成后,會持續監視這些實例。創建時,會創建了一個來托管應用。通過請求,可以從集群的外部訪問一個服務。使用云提供商的負載均衡器如果支持,可以向外部暴露服務。使用在中部署第一個應用本文以為例進行。目標是將簡單的應用部署在上運行。 Kubernetes是什么? Kubernetes是容器集群管理系統,是一個開源的平臺,可以實現容器集群的自動化部署、自動擴縮容、維護等功能。可以在物...

    qqlcbb 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<