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

**원래는..
// 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 을 이용한다.
'클라우드' 카테고리의 다른 글
[SeSac] AWS DataZone 실습 - 2. 생산자 프로젝트 생성 (1) | 2024.10.28 |
---|---|
[SeSac] AWS DataZone 실습 - 1. DataZone 관리페이지 열기 / 도메인 생성 (0) | 2024.10.28 |
[클라우드] AWS 사용법(EC2, VPC) (2) | 2024.10.15 |
[클라우드]AIM (1) | 2024.10.15 |
[클라우드]Controlplane 가상머신에 SSH 접속 / kubectl (1) | 2024.10.01 |