클라우드

Dockerfile 이용하는 이유

dusqo7951 2024. 9. 20. 15:02

 

Dockerfile : 도커이미지를 빌드하는데 필요한 명령어를 순서대로 기술한 텍스트 파일

 

 

 

개발환경(PC)에서 애플리케이션을 실행 및 동작 확인(Dockerfile 사용이유)

#1 go 다운로드 및 설치 ⇒ 최신버전 1.23.1

https://go.dev/dl/

 

All releases - The Go Programming Language

 

go.dev

 

 

 

**원래는..

 

// main.go 만들기

// 포트의 요청을 기다리고있다가 /로 요청이 들어오면 Hello docker! 를 내뱉는 파일

package main


import ( "fmt" "net/http" "log" )



func main(){

http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request){

log.Println("Received request from", r.RemoteAddr)

fmt.Fprint(w, "Hello docker!")

})

log.Println("Starting server on :8080")

server := &http.Server{Addr: ":8080"}

if err := server.ListenAndServe(); err != nil {

log.Fatalf("could not start server: %v", err)

}}

 

 

#2 애플리케이션 실행 ⇒ 새로운 명령 프롬프트에서

C:\Users\crpark> go run c:\docker\go\main.go
2024/09/19 09:39:33 Starting server on :8080 ⇐ 웹 서버가 정상적으로 구동

 

#3 curl 명령어를 이용해서 요청을 전달

c:\docker> curl http://localhost:8080/
Hello Docker!!! ⇐ 웹 서버가 "/" 주소로의 요청에 대한 응답을 반환
⇒ main.go 프로그램이 정상적으로 동작하는 것을 확인

 

 

#4 동일한 애플리케이션을 다른 서버 또는 PC에서 실행한다면 #1 ~ #3 과정을 반복해야 함

애플리케이션과 애플리케이션 실행에 필요한 환경을 묶어서 배포하는 것이 필요

컨테이너화를 통해 가능

 

이 과정을 반복해야하기때문에 컨텡티너화를 통해 해본다.

 

 

그래서 편하게 사용하기위해!! Dockerfile 을 이용한다.