久久久精品一区ed2k-女人被男人叉到高潮的视频-中文字幕乱码一区久久麻豆樱花-俄罗斯熟妇真实视频

go語言實(shí)現(xiàn)虛擬主機(jī) go語言搭建服務(wù)器

什么是docker容器技術(shù)?

docker容器技術(shù)指Docker是一個(gè)由GO語言寫的程序運(yùn)行的“容器”(Linux containers, LXCs)

網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、小程序制作、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了臨淄免費(fèi)建站歡迎大家使用!

Docker則實(shí)現(xiàn)了一種應(yīng)用程序級(jí)別的隔離,它改變我們基本的開發(fā)、操作單元,由直接操作虛擬主機(jī)(VM),轉(zhuǎn)換到操作程序運(yùn)行的“容器”上來。

Docker是為開發(fā)者和系統(tǒng)管理員設(shè)計(jì)的,用來發(fā)布和運(yùn)行分布式應(yīng)用程序的一個(gè)開放性平臺(tái)。由兩部分組成:

Docker Engine: 一個(gè)便攜式、輕量級(jí)的運(yùn)行環(huán)境和包管理器。(注* 單OS vs 單線程)

Docker Hub: 為創(chuàng)建自動(dòng)化工作流和分享應(yīng)用創(chuàng)建的云服務(wù)組成。(注* 云端鏡像/包管理 vs npm包管理,是不是跟npm特別像?)

從2013年3月20日,第一個(gè)版本的Docker正式發(fā)布到 2014年6月Docker 1.0 正式發(fā)布,經(jīng)歷了15個(gè)月。 雖然發(fā)展歷程很短,但Docker正在有越來越流行的趨勢(shì)。

其實(shí)Container技術(shù)并非Docker的創(chuàng)新,HeroKu, NodeJitsu 等云服務(wù)商都采用了類似這種輕量級(jí)的虛擬化技術(shù),但Docker是第一個(gè)將這這種Container技術(shù)大規(guī)模開源并被社區(qū)廣泛接受的。

如何使用Go語言是操作Docker

Docker 提供了一個(gè)與 Docker 守護(hù)進(jìn)程交互的 API (稱為Docker Engine API),我們可以使用官方提供的 Go 語言的 SDK 進(jìn)行構(gòu)建和擴(kuò)展 Docker 應(yīng)用程序和解決方案。

轉(zhuǎn)自:

整理:地鼠文檔

通過下面的命令就可以安裝 SDK 了:

該部分會(huì)介紹如何使用 Golang + Docker API 進(jìn)行管理本地的 Docker。

第一個(gè)例子將展示如何運(yùn)行容器,相當(dāng)于 docker run docker.io/library/alpine echo "hello world" :

還可以在后臺(tái)運(yùn)行容器,相當(dāng)于 docker run -d bfirsh/reticulate-splines :

列出正在運(yùn)行的容器,就像使用 docker ps 一樣:

如果是 docker ps -a ,我們可以通過修改 types.ContainerListOptions 中的 All 屬性達(dá)到這個(gè)目的:

通過上面的例子,我們可以獲取容器的列表,所以在這個(gè)案例中,我們可以去停止所有正在運(yùn)行的容器。

通過指定容器的 ID,我們可以獲取對(duì)應(yīng) ID 的容器的日志:

獲取本地所有的鏡像,相當(dāng)于 docker image ls 或 docker images :

拉取指定鏡像,相當(dāng)于 docker pull alpine :

除了公開的鏡像,我們平時(shí)還會(huì)用到一些私有鏡像,可以是 DockerHub 上私有鏡像,也可以是自托管的鏡像倉庫,比如 harbor 。這個(gè)時(shí)候,我們需要提供對(duì)應(yīng)的憑證才可以拉取鏡像。

值得注意的是:在使用 Docker API 的 Go SDK 時(shí),憑證是以明文的方式進(jìn)行傳輸?shù)?,所以如果是自建的鏡像倉庫,請(qǐng)務(wù)必使用 HTTPS !

我們可以將一個(gè)已有的容器通過 commit 保存成一個(gè)鏡像:

當(dāng)然,除了可以管理本地的 Docker , 我們同樣也可以通過使用 Golang + Docker API 管理遠(yuǎn)程的 Docker 。

默認(rèn) Docker 是通過非網(wǎng)絡(luò)的 Unix 套接字運(yùn)行的,只能夠進(jìn)行本地通信( /var/run/docker.sock ),是不能夠直接遠(yuǎn)程連接 Docker 的。

我們需要編輯配置文件 /etc/docker/daemon.json ,并修改以下內(nèi)容(把 192.168.59.3 改成你自己的 IP 地址),然后重啟 Docker :

創(chuàng)建 client 的時(shí)候需要指定遠(yuǎn)程 Docker 的地址,這樣就可以像管理本地 Docker 一樣管理遠(yuǎn)程的 Docker 了:

現(xiàn)在已經(jīng)有很多可以管理 Docker 的產(chǎn)品,它們便是這樣進(jìn)行實(shí)現(xiàn)的,比如: portainer 。

go語言能做什么?

很多朋友可能知道Go語言的優(yōu)勢(shì)在哪,卻不知道Go語言適合用于哪些地方。

1、 Go語言作為服務(wù)器編程語言,很適合處理日志、數(shù)據(jù)打包、虛擬機(jī)處理、文件系統(tǒng)、分布式系統(tǒng)、數(shù)據(jù)庫代理等;網(wǎng)絡(luò)編程方面。Go語言廣泛應(yīng)用于Web應(yīng)用、API應(yīng)用、下載應(yīng)用等;除此之外,Go語言還可用于內(nèi)存數(shù)據(jù)庫和云平臺(tái)領(lǐng)域,目前國(guó)外很多云平臺(tái)都是采用Go開發(fā)。

2、 其實(shí)Go語言主要用作服務(wù)器端開發(fā)。其定位是用來開發(fā)"大型軟件"的,適合于很多程序員一起開發(fā)大型軟件,并且開發(fā)周期長(zhǎng),支持云計(jì)算的網(wǎng)絡(luò)服務(wù)。Go語言能夠讓程序員快速開發(fā),并且在軟件不斷的增長(zhǎng)過程中,它能讓程序員更容易地進(jìn)行維護(hù)和修改。它融合了傳統(tǒng)編譯型語言的高效性和腳本語言的易用性和富于表達(dá)性。

3、 Go語言成功案例。Nsq:Nsq是由Go語言開發(fā)的高性能、高可用消息隊(duì)列系統(tǒng),性能非常高,每天能處理數(shù)十億條的消息;

4、 Docker:基于lxc的一個(gè)虛擬打包工具,能夠?qū)崿F(xiàn)PAAS平臺(tái)的組建。

5、 Packer:用來生成不同平臺(tái)的鏡像文件,例如VM、vbox、AWS等,作者是vagrant的作者

6、 Skynet:分布式調(diào)度框架。

7、 Doozer:分布式同步工具,類似ZooKeeper。

8、 Heka:mazila開源的日志處理系統(tǒng)。

9、 Cbfs:couchbase開源的分布式文件系統(tǒng)。

10、 Tsuru:開源的PAAS平臺(tái),和SAE實(shí)現(xiàn)的功能一模一樣。

11、 Groupcache:memcahe作者寫的用于Google下載系統(tǒng)的緩存系統(tǒng)。

12、 God:類似redis的緩存系統(tǒng),但是支持分布式和擴(kuò)展性。

13、 Gor:網(wǎng)絡(luò)流量抓包和重放工具。

以上的就是關(guān)于go語言能做什么的內(nèi)容介紹了。

分享題目:go語言實(shí)現(xiàn)虛擬主機(jī) go語言搭建服務(wù)器
URL網(wǎng)址:http://sd-ha.com/article30/hhepso.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作、網(wǎng)站維護(hù)域名注冊(cè)微信小程序、網(wǎng)頁設(shè)計(jì)公司、軟件開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

綿陽服務(wù)器托管