自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

讓 Docker 無(wú)處不在

開發(fā) 項(xiàng)目管理
作者:Timo Derstappen 譯者:Mark Shao 我答應(yīng)過會(huì)繼續(xù)寫一些關(guān)于 docker 的文章。作為 CØ 中唯一一枚有本地 Linux 內(nèi)核的幸運(yùn)兒,我當(dāng)仁不讓地寫點(diǎn)東西來(lái)分享自己如何在本地臺(tái)式機(jī)上管理所有項(xiàng)目。 為什么是 docker 而不是純 LXC 幾年前當(dāng)我還在 Adcloud 的時(shí)候,開始使用 LXC 來(lái)建立所有的 微型服務(wù) 。鑒于我在臺(tái)式機(jī)上使用 Archlinux,效果還不錯(cuò)。但是我們的生產(chǎn)環(huán)境是 Ubuntu 的操作系統(tǒng),并且會(huì)用 chef 腳本來(lái)創(chuàng)建容器,而我仍然把這些容器當(dāng)做機(jī)器來(lái)維護(hù)。

我已許諾會(huì)持續(xù)的寫些關(guān)于docker的文章。由于我是***一個(gè)在 CØ 中具有本地linux內(nèi)核的幸運(yùn)者, 因此我將寫一些關(guān)于怎樣在本地桌面上管理所有項(xiàng)目的文章。

為什么是docker,而不是純LXC?

幾年前,當(dāng)我還在 Adcloud 時(shí),就開始使用 LXC 來(lái)構(gòu)建所有的微型服務(wù)。 鑒于我在臺(tái)式機(jī)上使用 Archlinux系統(tǒng)并且效果還不錯(cuò),但是我們的生產(chǎn)環(huán)境是 Ubuntu系統(tǒng),并且可能會(huì)用 chef 腳本來(lái)創(chuàng)建容器,而我仍然把這些容器當(dāng)做機(jī)器來(lái)維護(hù)。它們有自己的 DNS 域名、 IP 地址、 SSH 服務(wù),和所有磁盤文件綁定。因此每當(dāng)我開始一個(gè)新項(xiàng)目時(shí),首先得通過 SSH 登錄到容器然后再開始工作。事實(shí)上我一點(diǎn)也不喜歡 Chef ,所以在離開 Adcloud 后我就放棄了 Chef 并開始使用 Babushka 。雖然后者能讓我以最簡(jiǎn)單的方式來(lái)部署一個(gè)單機(jī)環(huán)境,但是創(chuàng)建新容器十分緩慢,當(dāng)所有容器啟動(dòng)之后占據(jù)了 SSD 上的大量磁盤空間,而且我還需要手動(dòng)去配置多項(xiàng)服務(wù)。

所以當(dāng)我***次啟動(dòng) Docker 容器的時(shí)候,它的速度之快真是讓人驚訝,更棒的是分層的文件系統(tǒng)可以減少磁盤的使用。

容器不等于機(jī)器

自從有了 Docker 容器以后,你就不需要考慮機(jī)器的概念了。它們只是在不同的內(nèi)核命名空間中的進(jìn)程,你希望它們可以保持精簡(jiǎn)和干凈。它們也需要能夠運(yùn)行在不同的環(huán)境中,所以我放棄了在容器中使用 SSH 。那我又是如何來(lái)創(chuàng)建我的項(xiàng)目呢?首先我創(chuàng)建了一系列容器,在上面安裝了我項(xiàng)目中需要安裝但不應(yīng)該安裝在本地的工具。
在盒子里使用Go

我們先來(lái)看一下 github 上的 Dockerfile。

使用下面的別名在容器中啟動(dòng) go,隨后把容器移除:

  1. alias go="docker run --rm -t -i teemow/go" 

你甚至可以使用不同的標(biāo)簽來(lái)運(yùn)行不同版本的 go( go:1.1、go:1.2 等)。不過要讓它它真正工作,還需要更多操作。你可以把你當(dāng)前的目錄綁定掛載到容器中,來(lái)做類似go get這樣的事情。

  1. alias go="docker run --rm -t -i -v \$(pwd):\$(pwd) -w \$(pwd) teemow/go" 

如果你有一個(gè)私有 git 庫(kù)的話,你甚至可以把你當(dāng)前的 ssh 代理掛載到容器中:

  1. alias go="AGENT=\$(ls -1 --sort t /tmp/ssh-*/agent.* | head -1) && docker run --rm -t -i -v \$AGENT:\$AGENT -e SSH_AUTH_SOCK=\$AGENT -v \$(pwd):\$(pwd) -w \$(pwd) teemow/go" 

類似 GOPATH 這樣的環(huán)境變量也可以傳入到容器中。

你可以完全用你自己的工具來(lái)完成這些事情,這樣你的主機(jī)會(huì)很干凈。別忘了給你的不同版本的鏡像打上標(biāo)簽,否則你很難跳回到之前的項(xiàng)目中。也許你可以給類似 rbenv ( dockerenv )的項(xiàng)目做記號(hào)。我已經(jīng)創(chuàng)建了一系列包含工具的鏡像 ,比如 npm 、 grunt 、 coffee-script 、 aws-cli 和 tugboat 等等。

專家提醒: 不要過度使用別名,建議盡可能使用小腳本,比如 /usr/local/bin/ 。

Docker 樂高積木

如果你想要在不只一個(gè)容器上運(yùn)行或者測(cè)試你的項(xiàng)目,那么就使用上面提到的別名來(lái)構(gòu)建你的項(xiàng)目。你不能在同一個(gè)容器中運(yùn)行你的Web服務(wù),postgres和redis。每項(xiàng)服務(wù)應(yīng)該有自己的容器,現(xiàn)在你需要做的就是把所有的“磚塊”組合起來(lái)。

Docker有一個(gè)特性稱之為“鏈接”,它可以幫助你做正在做的事情。一個(gè)被鏈接的容器通過環(huán)境變量導(dǎo)入本身。所以其他的容器能發(fā)現(xiàn)Ip地址和鏈接容器的接口。Heroku 使用了一種類似的方式來(lái)添加插件的信息。

 

但是你能使用fig使這一切更容易。只需要添加fig.yml文件到你的項(xiàng)目中并運(yùn)行fig up去開啟整個(gè)環(huán)境。本地目錄會(huì)被綁定到一個(gè)容器上,如果文件被修改,文件監(jiān)視器可自動(dòng)重啟你的服務(wù)。Mac/Vagrant用戶對(duì)這個(gè)比較熟悉。我已在piratesinn angellist list添加了fig.yml文件。

事實(shí)上,甚至連 fig 自身也是運(yùn)行在本機(jī)上的一個(gè)容器中。但是你需要把docker socket 服務(wù)綁定到 fig的容器中,這樣它才可以啟動(dòng)其他容器。

未完待續(xù)。

譯文來(lái)源:http://www.dockboard.org/dockerize-all-the-things/

【編輯推薦】

  1. Docker如何將錯(cuò)綜復(fù)雜的Linux代碼轉(zhuǎn)成開發(fā)者的魔法
  2. 你會(huì)用嗎?Linux五大數(shù)據(jù)可視化工具
  3. 深度專訪Linux Deepin郭攀 :圖標(biāo)的故事
  4. 送給Linux愛好者精彩有趣的高清Linux壁紙
  5. 極力推薦:一個(gè)Docker的maven插件

 

【責(zé)任編輯:林師授 TEL:(010)68476606】

責(zé)任編輯:林師授 來(lái)源: dockboard.org
相關(guān)推薦

2021-10-29 15:30:37

SASE/網(wǎng)絡(luò)安全

2017-09-14 18:02:53

傷害學(xué)神挑戰(zhàn)

2017-12-29 10:54:01

Python編程語(yǔ)言系統(tǒng)管理工具

2022-09-16 10:44:17

物聯(lián)網(wǎng)通信網(wǎng)絡(luò)

2019-04-30 14:05:20

思科ACI

2016-07-08 14:50:21

HTTPS加密

2019-04-01 10:43:11

企業(yè)通信云通信華為

2011-07-27 13:23:40

數(shù)字天堂王安信息

2018-05-15 09:00:59

2013-04-07 13:03:34

ASP.NET

2013-11-11 15:04:52

2024-06-03 17:24:34

2021-12-31 10:54:25

微軟AzureOpenAI

2022-06-08 14:47:32

Aruba混合辦公網(wǎng)絡(luò)

2011-08-28 10:40:43

IBMRational嵌入式開發(fā)

2013-12-30 10:05:54

Linux操作系統(tǒng)

2023-08-18 14:39:52

5G4G

2015-01-08 15:31:22

CES2015智能硬件HomeKit

2011-11-23 14:01:35

數(shù)字天堂

2010-06-03 15:38:30

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)