成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

docker在centos安裝golang操作及部分理解

huaixiaoz / 2199人閱讀

摘要:前兩天在本地安裝了,熟悉了下命令之后,還是忍不住到上進(jìn)行了一波鏡像部署,以下是我的操作步驟和一些想法。但是如果想要將當(dāng)前目錄的文件復(fù)制進(jìn)里頭,首先要保證鏡像在運(yùn)行,然后命令中的容器名使用我圈出來(lái)的那個(gè)名字。

前兩天在本地安裝了docker,熟悉了下命令之后,還是忍不住到centos上進(jìn)行了一波golang鏡像部署,以下是我的操作步驟和一些想法。
準(zhǔn)備:一臺(tái)安裝了docker的可聯(lián)網(wǎng)的centos服務(wù)器

1、不多說(shuō),寫(xiě)Dockerfile(只想體驗(yàn)dockerfile的操作流程,所以選擇了yum的安裝方式)
# docker build
# Version 1.0
#
FROM centos
#
MAINTAINER [email protected]
#
RUN yum install -y epel-release
RUN yum install -y docker-io
RUN yum provides "*/applydeltarpm"
RUN yum install deltarpm -y
RUN yum install -y gcc
RUN yum install -y go
RUN mkdir -p /data/gopath
ENV GOPATH /data/gopath
ADD src/ /data/gopath/src
ADD pkg/ /data/gopath/pkg
ADD test.go /data/gopath/test.go
WORKDIR /data/gopath
RUN go build -o server.bin test.go
#
CMD /data/gopath/server.bin

注釋別問(wèn)我在gcc和go安裝之前為什么還有四個(gè)安裝步驟,我特么也不知道,反正就是報(bào)錯(cuò)了提示要我安裝

源碼安裝如下

FROM centos
MAINTAINER [email protected]
ENV GOROOT /usr/local/go
ENV GOPATH /data/gopath
ENV PATH $GOROOT/bin:$PATH
RUN yum install -y curl
RUN curl -s -o go.tar.gz https://storage.googleapis.com/golang/go1.5.1.linux-amd64.tar.gz
RUN tar --remove-files -C /usr/local/ -zxf go.tar.gz
RUN mkdir -p /data/go
RUN ln -sv /usr/local/go/bin/go /bin
ADD src/ /data/gopath/src
ADD pkg/ /data/gopath/pkg
ADD test.go /data/gopath/test.go
WORKDIR /data/gopath
RUN go build -o server.bin test.go
CMD /data/gopath/server.bin
2、創(chuàng)建鏡像(注意最后面有一個(gè)小數(shù)點(diǎn))
docker build -t golang:v1.0 .
3、創(chuàng)建容器,如果要綁定端口,也在這一步進(jìn)行
docker run -d -p 80:80 golang:v1.0
4、在外部瀏覽器訪問(wèn)一下~

坑點(diǎn)
1、要是dockerfile運(yùn)行過(guò)程中出錯(cuò),會(huì)在images中生成的無(wú)用鏡像,刪除方法來(lái)自百度粘貼
# 刪除命令:
docker rmi $(docker images | grep "none" | awk "{print $3}")
# 上一步報(bào)錯(cuò)還有未停掉的容器后可進(jìn)行下面的步驟
# 停止容器
docker stop $(docker ps -a | grep "Exited" | awk "{print $1 }") 
# 刪除:
docker rm $(docker ps -a | grep "Exited" | awk "{print $1 }")
# 刪除鏡像
docker rmi $(docker images | grep "none" | awk "{print $3}")
2、在run的容器內(nèi)進(jìn)行exit,將會(huì)退出容器,并且使得容器也stop。正確做法是使用exec方式,命令如下:
docker exec -it imageId /bin/bash
3、如果使用dockerfile直接ADD文件進(jìn)docker里頭的話,這個(gè)沒(méi)啥。但是如果想要將當(dāng)前目錄的文件復(fù)制進(jìn)docker里頭,首先要保證鏡像在運(yùn)行(docker ps),然后docker cp 命令中的容器名使用我圈出來(lái)的那個(gè)名字。刪除和啟動(dòng)停止容器都是用前面那個(gè)ID

4、還沒(méi)找到給running的容器映射端口的方法,找了些帖子,貌似有配置文件可修改。方便起見(jiàn)在創(chuàng)建容器的時(shí)候綁定算了~
總結(jié)

docker是工具類應(yīng)用,其實(shí)有點(diǎn)類似git,腦袋里頭想一下docker的實(shí)現(xiàn)流程就能絲滑般掌握了

還有一些常用的docker命令,以及文件映射啥的,請(qǐng)點(diǎn)擊docker操作手冊(cè)

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/27805.html

相關(guān)文章

  • dockercentos安裝beego部分理解

    摘要:誠(chéng)如前面一篇文章,是簡(jiǎn)單的布置了的一個(gè),再次布寫(xiě)注最后一行不能使用和,不然會(huì)將啟動(dòng)日志輸出到命令行,加會(huì)導(dǎo)致內(nèi)未啟動(dòng)血淚史創(chuàng)建鏡像創(chuàng)建容器注端口號(hào)綁定前面為本機(jī)的端口,后面為容器端口查看容器注此命令后面加上就能查看所有狀態(tài)的鏡像 誠(chéng)如前面一篇文章,是簡(jiǎn)單的布置了golang的一個(gè)demo,再次布beego 1、寫(xiě)Dockerfile # docker build # Version 1...

    wanghui 評(píng)論0 收藏0
  • 記一次docker容器化部署

    摘要:事情是這樣的一個(gè)人程序員,用寫(xiě)了個(gè),寫(xiě)完后不會(huì)部署是的,這個(gè)人就是我今天真的是要被自己笑死終于有機(jī)會(huì)在公司項(xiàng)目中使用進(jìn)行開(kāi)發(fā),整個(gè)開(kāi)發(fā)過(guò)程相當(dāng)亢奮然而當(dāng)跟前端小哥哥聯(lián)調(diào)完接口后,小哥哥問(wèn)我什么時(shí)候能給線上地址一臉懵忘記還有上線這回事了往往自 事情是這樣的 一個(gè)人程序員,用golang寫(xiě)了個(gè)server,寫(xiě)完后...不會(huì)部署 : ) 是的,這個(gè)人就是我... 今天真的是要被自己笑死 ...

    saucxs 評(píng)論0 收藏0
  • 01-Docker新手入門(mén)初見(jiàn)篇

    摘要:了解開(kāi)源的容器平臺(tái)用于分享管理容器的平臺(tái)使用客戶端服務(wù)器架構(gòu)模式。守護(hù)進(jìn)程會(huì)處理復(fù)雜繁重的任務(wù),例如建立運(yùn)行發(fā)布你的容器??蛻舳撕褪刈o(hù)進(jìn)程之間通過(guò)或者進(jìn)行通信。 Step1:了解Docker 開(kāi)源的容器平臺(tái):Golang https://github.com/docker/dockerDocker Hub: 用于分享、管理 Docker 容器的 Docker SaaS 平臺(tái) -- D...

    oujie 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<