1. 간단한 도커 이미지 만들기
간단한 예제를 이용해 도커 이미지를 만들고 실행 해 보도록 하겠습니다. go 언어를 이용하여 만든 간단한 웹서버에 대한 코드입니다.
package main
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)
}
}
FROM golang:1.9
RUN mkdir /echo
COPY server.go /echo
CMD ["go", "run", "/echo/server.go"]
위와 같이 2개의 파일이 준비되었다면 도커 명령어를 쳐 주면 됩니다.
docker image build -t go_server:latest .
그 후에 만들어준 이미지 파일을 실행하고 다른 쉘을 켜 확인 해 볼 수 있습니다.
docker container run -t -p 9000:8080 go_server:latest
위의 코드는 실행 시 호스트 os의 9000과 도커 내부의 8080과 연결해 실행하겠다는 의미입니다.
curl http://localhost:9000
또 다른 쉘을 켜 위와 같이 접속을 하면정상적으로 출력이 되는 모습을 확인 할 수 있습니다.
2020/03/04 06:40:39 Start server
2020/03/04 06:42:43 received request
Last updated
Was this helpful?