diff --git a/Week5/2026_04_08~15 S-개발자 4기.pdf b/Week5/2026_04_08~15 S-개발자 4기.pdf index 49df256..f30fdd2 100644 --- a/Week5/2026_04_08~15 S-개발자 4기.pdf +++ b/Week5/2026_04_08~15 S-개발자 4기.pdf @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:22d97f20223d1f97ce6dfa5a76751d27d1a9248673232f9a7ddb1d09ff7ce923 -size 708224 +oid sha256:f958aba25439f123ee83c0c96f3cbd39314adb52fcf4ddd35086d8ba63e16567 +size 1417337 diff --git a/Week5/go/Dockerfile b/Week5/go/Dockerfile new file mode 100644 index 0000000..a381d84 --- /dev/null +++ b/Week5/go/Dockerfile @@ -0,0 +1,16 @@ +# 베이스 이미지를 지정 (저장소 이름이 없으므로 도커 허브 공식 이미지) +# https://docs.docker.com/engine/reference/builder/#from +# https://hub.docker.com/_/golang +FROM golang:1.23.1 + +# 컨테이너 내부에 /echo 디렉터리를 생성 +# https://docs.docker.com/engine/reference/builder/#run +RUN mkdir /echo + +# 호스트의 main.go 파일을 컨테이너의 /echo/main.go로 복사 +# https://docs.docker.com/engine/reference/builder/#copy +COPY main.go /echo + +# 컨테이너 실행 시 go run /echo/main.go 명령어를 실행 +# https://docs.docker.com/engine/reference/builder/#cmd +CMD ["go", "run", "/echo/main.go"] diff --git a/Week5/go/main.go b/Week5/go/main.go new file mode 100644 index 0000000..b1b8098 --- /dev/null +++ b/Week5/go/main.go @@ -0,0 +1,26 @@ +/* 8080 포트로 HTTP 요청을 대기하다가, /로 요청이 들어오면 Hello Docker!!!를 응답 */ + +/* 프로그램의 진입점인 main 패키지를 지정 */ +package main + +/* 표준 입출력과 문자열 형식을 처리하는 Go 패키지, + 로그를 출력하기 위한 패키지, + HTTP 서버와 클라이언트 관련 기능을 제공하는 패키지를 임포트 */ +import ( + "fmt" + "log" + "net/http" +) + +func main() { + http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { + log.Println("received request") + fmt.Fprintf(w, "Hello Docker!!") + }) + + log.Println("start server") + server := &http.Server{Addr: ":8080"} + if err := server.ListenAndServe(); err != nil { + log.Println(err) + } +}