摘要:前兩天在本地安裝了,熟悉了下命令之后,還是忍不住到上進行了一波鏡像部署,以下是我的操作步驟和一些想法。但是如果想要將當前目錄的文件復制進里頭,首先要保證鏡像在運行,然后命令中的容器名使用我圈出來的那個名字。
前兩天在本地安裝了docker,熟悉了下命令之后,還是忍不住到centos上進行了一波golang鏡像部署,以下是我的操作步驟和一些想法。
準備:一臺安裝了docker的可聯網的centos服務器
1、不多說,寫Dockerfile(只想體驗dockerfile的操作流程,所以選擇了yum的安裝方式)
# docker build # Version 1.0 # FROM centos # MAINTAINER yancoder@163.com # 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
注釋別問我在gcc和go安裝之前為什么還有四個安裝步驟,我特么也不知道,反正就是報錯了提示要我安裝
源碼安裝如下
FROM centos MAINTAINER yancoder@163.com 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、創建鏡像(注意最后面有一個小數點)
docker build -t golang:v1.0 .
3、創建容器,如果要綁定端口,也在這一步進行
docker run -d -p 80:80 golang:v1.0
4、在外部瀏覽器訪問一下~坑點
1、要是dockerfile運行過程中出錯,會在images中生成的無用鏡像,刪除方法來自百度粘貼
# 刪除命令: docker rmi $(docker images | grep "none" | awk "{print $3}") # 上一步報錯還有未停掉的容器后可進行下面的步驟 # 停止容器 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的容器內進行exit,將會退出容器,并且使得容器也stop。正確做法是使用exec方式,命令如下:
docker exec -it imageId /bin/bash
3、如果使用dockerfile直接ADD文件進docker里頭的話,這個沒啥。但是如果想要將當前目錄的文件復制進docker里頭,首先要保證鏡像在運行(docker ps),然后docker cp 命令中的容器名使用我圈出來的那個名字。刪除和啟動停止容器都是用前面那個ID
4、還沒找到給running的容器映射端口的方法,找了些帖子,貌似有配置文件可修改。方便起見在創建容器的時候綁定算了~總結
docker是工具類應用,其實有點類似git,腦袋里頭想一下docker的實現流程就能絲滑般掌握了
還有一些常用的docker命令,以及文件映射啥的,請點擊docker操作手冊
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/27805.html
摘要:誠如前面一篇文章,是簡單的布置了的一個,再次布寫注最后一行不能使用和,不然會將啟動日志輸出到命令行,加會導致內未啟動血淚史創建鏡像創建容器注端口號綁定前面為本機的端口,后面為容器端口查看容器注此命令后面加上就能查看所有狀態的鏡像 誠如前面一篇文章,是簡單的布置了golang的一個demo,再次布beego 1、寫Dockerfile # docker build # Version 1...
摘要:事情是這樣的一個人程序員,用寫了個,寫完后不會部署是的,這個人就是我今天真的是要被自己笑死終于有機會在公司項目中使用進行開發,整個開發過程相當亢奮然而當跟前端小哥哥聯調完接口后,小哥哥問我什么時候能給線上地址一臉懵忘記還有上線這回事了往往自 事情是這樣的 一個人程序員,用golang寫了個server,寫完后...不會部署 : ) 是的,這個人就是我... 今天真的是要被自己笑死 ...
摘要:了解開源的容器平臺用于分享管理容器的平臺使用客戶端服務器架構模式。守護進程會處理復雜繁重的任務,例如建立運行發布你的容器。客戶端和守護進程之間通過或者進行通信。 Step1:了解Docker 開源的容器平臺:Golang https://github.com/docker/dockerDocker Hub: 用于分享、管理 Docker 容器的 Docker SaaS 平臺 -- D...
閱讀 1016·2021-09-26 09:55
閱讀 3556·2021-09-24 10:30
閱讀 1364·2021-09-08 09:36
閱讀 2553·2021-09-07 09:58
閱讀 603·2019-08-30 15:56
閱讀 765·2019-08-29 18:32
閱讀 3593·2019-08-29 15:13
閱讀 1840·2019-08-29 13:49