728x90
반응형
# 쿠버네티스에서 실행한 Go언어로 구성된 컨테이너 작성
vim main.go
# 코드 작성
package main
import (
"fmt"
"github.com/julienschmidt/httprouter"
"net/http"
"log"
"os"
)
func Index(w http.ResponseWriter, r *http.Request, _ httprouter.Params) {
hostname, err := os.Hostname()
if err == nil {
fmt.Fprint(w, "Welcome! " + hostname +"\n")
} else {
fmt.Fprint(w, "Welcome! ERROR\n")
}
}
func main() {
router := httprouter.New()
router.GET("/", Index)
log.Fatal(http.ListenAndServe(":8080", router))
}
# golang 인스톨
sudo apt install golang
# git 허브에 있는 소스를 가져오기
go get github.com/julienschmidt/httprouter
go build main.go
ls
main 이라는 프로그램이 생성된 것을 확인
./main
curl 127.0.0.1:8080
우측 상단에 웹 미리보기 > 8080 포트에서 미리보기 클릭
Welcome! cs-351671895230-default-boost-hbz4g 라는 내용을 확인
# docker로 빌드하기
mkdir http_go
mv main ./http_go/
cd http_go
# dockerfile 작성하기
vim dockerfile
FROM golang:1.11
WORKDIR /usr/src/app
COPY main /usr/src/app
CMD ["/usr/src/app/main"]
# 빌드 수행하기
docker build -t http-go .
# 빌드한 docker 실행해서 서비스 올리기
docker run -d -p 8080:8080 --rm http-go
# 빌드된 서비스 확인하기
docker ps
8080 포트로 실행되어 웹에 표시된 도커 id와 dockerps 실행시 표시되는 도커 id가 같으면 정상이다.
Welcome! fd5138b4faf8
# docker hub에 파일 업로드
docker tag http-go may9noy/http-go
docker login
docker push may9noy/http-go
728x90
반응형
'⭐ Kubernetes & EKS > Kubernetes (쿠버네티스)' 카테고리의 다른 글
젠킨스 앱을 쿠버네티스에서 실행하기 (0) | 2021.09.05 |
---|---|
Docker 컨테이너를 쿠버네티스에서 실행하기 (0) | 2021.09.05 |
GCP에 쿠버네티스 설치 및 실행 (0) | 2021.09.04 |
master 노드와 work 노드 생성, 클러스터 구성 및 쿠버네티스 테스트 (0) | 2021.09.04 |
Docker와 kubeadm 설치 (0) | 2021.09.04 |