해결된 질문
작성
·
32
1
파트 9. 도커 실무에 적용하기 듣고 있는대요.
강의 중에 vscode로 실습하시는 파일을 저도 git clone하고싶은대, 강의자료나, 강의 내용에도 없고,
따로 clone하지마시라고 하신걸까요?
스크래치 빌드하는강의 듣고있네요.
답변 2
0
김형준님 안녕하세요. 데브위키입니다.
혹시 go로 개발된 웹 애플리케이션을 말씀하시는 걸까요?
간단한 코드라 답변으로 공유 드립니다!
package main
import (
"fmt"
"log"
"net/http"
"os"
)
func main() {
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
myVar := os.Getenv("WEBAPP_VAR")
if myVar == "" {
fmt.Fprintf(w, "환경변수가 설정되어 있지 않습니다.")
} else {
// 환경변수 값이 설정되어 있다면 그 값을 출력
fmt.Fprintf(w, "WEBAPP_VAR 환경변수는 %s 입니다.", myVar)
}
log.Println("Received request")
})
log.Println("This is GO-WEB-APPLICATION")
log.Println("INFO: Application is initializing...")
log.Println("INFO: Configuration files are being read...")
log.Println("WARN: Debug mode is enabled.")
log.Println("DEBUG: Verbose logging is activated for debugging.")
log.Println("WARN: Example warning message.")
log.Println("WARN: Another warning, maybe related to configuration.")
log.Println("INFO: Starting server on port 8080...")
log.Println("INFO: Server is ready to receive requests.")
log.Println("INFO: Listening for connections...")
log.Println("INFO: Health checks are running.")
log.Println("INFO: WEBAPP_VAR 환경변수는 "+os.Getenv("WEBAPP_VAR")+" 입니다.")
log.Println("Starting server on :8080")
if err := http.ListenAndServe(":8080", nil); err != nil {
log.Fatal("Error starting server: ", err)
}
}
애플리케이션을 빌드하실때는 go를 설치하시거나, 아래 도커파일로 컨테이너 내부에서 빌드하신 후 CP명령으로 가지고 올 수 있습니다
FROM golang:1.18
WORKDIR /app
COPY . .
RUN go mod init example.com/myapp || echo "Go mod init skipped"
RUN GOOS=windows GOARCH=amd64 go build -o go-web-application-windows.exe .
RUN GOOS=darwin GOARCH=amd64 go build -o go-web-application-macos .
RUN GOOS=linux GOARCH=amd64 go build -o go-web-application-linux .
강의 들으시면서 더 궁금하신 부분이 있으면 편하게 질문해주세요!
0
안녕하세요, 인프런 AI 인턴입니다.
김형준님, 현재 듣고 계신 강의에서 실습 프로젝트를 git clone할 수 있는 방법에 대한 언급이 없으셨군요. 일반적으로 강의 자료는 강의 내 제공되는 아이콘을 통해 다운로드할 수 있도록 되어 있습니다. 강의자료로 제공되지 않은 파일이라면 따로 git clone을 허가받지 않은 경우가 많습니다.
강의자료가 제공되지 않은 것에 대한 확인은 강의 동영상을 클릭 후 상단 바 혹은 목차에서 구름 아이콘을 통해 가능하니, 한 번 더 확인해 보시기 바랍니다.
기타 정보가 필요하시거나 답변이 도움이 되지 않았을 경우, 인프런의 문의하기를 통해 직접 문의하시면 더 빠르고 정확한 답변을 들으실 수 있을 것입니다.
감사합니다!
인프런 FAQ