日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

CentOS Docker安装配置部署Golang web helloworld

發(fā)布時(shí)間:2023/11/28 生活经验 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CentOS Docker安装配置部署Golang web helloworld 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

目錄【閱讀時(shí)間:約5分鐘】

  • 一、Docker簡介
  • 二、Docker的安裝與配置【CentOS環(huán)境】
  • 三、Docker部署Golang web helloworld
  • 四、Docker與虛擬機(jī)的區(qū)別
  • 五、吐槽



一、Docker簡介

Docker 是一個(gè)開源的應(yīng)用容器引擎,讓開發(fā)者可以打包他們的應(yīng)用以及依賴包到一個(gè)可移植的鏡像中,然后發(fā)布到任何流行的 Linux或Windows 機(jī)器上,也可以實(shí)現(xiàn)虛擬化。容器是完全使用沙箱機(jī)制,相互之間不會(huì)有任何接口。


觀察Docker圖標(biāo),其實(shí)很形象的解釋了什么是Docker。在沒有使用集裝箱的情況下,我們需要考慮不同形狀、尺寸的貨物怎么安放,貨物與貨物之間是否能堆疊,這無疑是很繁瑣的事情。現(xiàn)在有了集裝箱(容器),我們就能將不同的貨物放入集裝箱之內(nèi)這樣就能以同樣的方式來存放貨物,實(shí)現(xiàn)了標(biāo)準(zhǔn)化。

Docker采用了集裝箱原理,我們將程序放入到容器中,實(shí)現(xiàn)“一次封裝,到處運(yùn)行”,只要開發(fā)環(huán)境能跑,在其他任何流行的機(jī)器上都能運(yùn)行。并且將程序丟入到容器中,很好的實(shí)現(xiàn)了程序與程序之間的隔離,避免了類似Java開發(fā)的程序和.net開發(fā)的程序安裝在一個(gè)服務(wù)器上需要很多調(diào)試,有時(shí)還會(huì)產(chǎn)生沖突的情況。

Docker的應(yīng)用場景:

Web 應(yīng)用的自動(dòng)化打包和發(fā)布。
自動(dòng)化測試和持續(xù)集成、發(fā)布。
在服務(wù)型環(huán)境中部署和調(diào)整數(shù)據(jù)庫或其他的后臺應(yīng)用。
從頭編譯或者擴(kuò)展現(xiàn)有的 OpenShift 或 Cloud Foundry 平臺來搭建自己的 PaaS 環(huán)境。



二、Docker的安裝與配置【CentOS環(huán)境】

在CentOS環(huán)境下,通過如下指令即可安裝Docker:

sudo yum install docker

在安裝完畢后,可通過如下指令檢驗(yàn)安裝是否成功:

$ docker --version
Docker version 1.13.1, build 64e9980/1.13.1

檢查安裝無誤后,即可開始下面的基于golang的docker helloworld程序。


三、Docker部署Golang web helloworld

首先創(chuàng)建項(xiàng)目目錄和main.go文件:

[henryhzy@localhost 桌面]$ mkdir helloWorldDocker
[henryhzy@localhost 桌面]$ cd helloWorldDocker/
[henryhzy@localhost helloWorldDocker]$ touch main.go
[henryhzy@localhost helloWorldDocker]$ cat main.go 
[henryhzy@localhost helloWorldDocker]$ vim main.go

在main.go文件中輸入如下內(nèi)容:

package main
import ("fmt""net/http"
)
func main() {fmt.Println("Hello world!!")http.HandleFunc("/", homePage)http.HandleFunc("/login", login)_ = http.ListenAndServe(":80", nil)
}
func homePage(w http.ResponseWriter, r *http.Request) {fmt.Println("Hello Docker")
}
func login(w http.ResponseWriter, r *http.Request) {fmt.Println("Login Docker")
}

然后創(chuàng)建Dockerfile文件,其內(nèi)容如下:

FROM golang:latest
WORKDIR $GOPATH/src/helloWorldDocker
COPY . $GOPATH/src/helloWorldDocker
RUN go build .
EXPOSE 8080
ENTRYPOINT ["./helloWorldDocker"]

編譯并運(yùn)行dockers:

docker build -t hellow ./helloWorldDocker
docker run -p 8080:8080 hellow 

運(yùn)行結(jié)果:

Hello world!!



四、Docker與虛擬機(jī)的區(qū)別




五、吐槽

Docker在編譯運(yùn)行時(shí)太慢了太慢了,如果系統(tǒng)資源不足&網(wǎng)速慢,估計(jì)得等到一百年~
下篇博客應(yīng)該會(huì)介紹快速編譯&more golang web~

總結(jié)

以上是生活随笔為你收集整理的CentOS Docker安装配置部署Golang web helloworld的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。