GoLang HTTP 서버를 도커화하고 Kubernetes에 배포
3316 단어 dockerkubernetesgo
소개
이 블로그에서는 Kubernetes에서 GoLang으로 작성된 간단한 HTTP 서버를 호스팅하려고 했습니다.
시작하자
도커 이미지를 빌드하고 도커 허브에 푸시합니다.
PC에 도커를 설치해야 합니다.
프로젝트로 이동하여 Dockerfile을 만듭니다.
이제 이미지가 실행될 때 앱을 시작할 수 있는 명령을 작성해야 합니다.
FROM galang:1.16-alpine #this will pull the official base image of golang
RUN mkdir /app
ADD . /app
WORKDIR /app
RUN go build project .
CMD [“/app/project”]
golang에서 먼저 프로그램을 컴파일하고 실행 파일을 얻은 다음 이 실행 파일을 모든 OS에서 실행할 수 있습니다.
"docker build -t/이미지 이름/"이미지 빌드( docker build -t aksrao1998/first-go-project .)

이미지가 생성되었는지 확인하려면 "docker image ls"를 사용하지 마십시오.

그런 다음 docker run -p 8080:8080 -it/docker image/를 실행합니다.
도커 허브의 리포지토리에 태그를 지정하여 이미지를 도커 허브로 푸시합니다.

Minikube에서 원하는 Pod를 생성하여 이미지 배포
minikube에 배포하기 위해 deployment.yml을 작성합니다.

"kubectl get pods"로 포드가 실행 중인지 확인합니다.

웹 브라우저에서 액세스할 수 있도록 Pod에 고정 IP를 연결합니다.
포드에 고정 IP를 연결하기 위한 service.yml 문서 생성

서비스를 적용하고 minikube를 통해 터널링합니다.

결과


결론
localhost:8080을 열면 도커 이미지가 실행 중인 것을 볼 수 있습니다.
이 오류로 막히면.

명령을 사용하십시오
go env -w GO111MODULE=off
service.yml의 targetPort가 서버가 수신 대기 중인 containerPort를 가리키고 있는지 확인하십시오.
고맙습니다
Reference
이 문제에 관하여(GoLang HTTP 서버를 도커화하고 Kubernetes에 배포), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/aksrao1998/dockerize-a-golang-http-server-and-deploy-it-on-kubernetes-592j텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)