설 연수
하하호홓
설 연수
전체 방문자
오늘
어제
  • 분류 전체보기 (231)
    • Back-End (2)
      • Java (20)
      • JSP (13)
      • Spring (18)
      • Kotlin (0)
      • node.js (0)
    • Front-End (68)
      • JavaScript (19)
      • jQuery (39)
      • Angular (4)
      • HTML (5)
    • Dev-Ops (12)
      • Linux, Cloud (5)
      • docker, k8s (5)
      • ElasticSeach (2)
    • Other (33)
      • OOP (3)
      • 알고리즘 (2)
      • DB (12)
      • Git (1)
      • Swift (4)
    • Backup (65)

블로그 메뉴

    공지사항

    인기 글

    태그

    • Angular
    • RESTful
    • docker
    • page not found
    • INVALID
    • Kafka
    • 404 error
    • angular 콜백
    • 패스트캠퍼스
    • jOOQ
    • 크로스도메인
    • jquery invalid
    • mongodb
    • flex
    • angular2
    • angular4
    • CORS
    • angular callback
    • Redis
    • MYSQL

    최근 댓글

    최근 글

    티스토리

    hELLO · Designed By 정상우.
    설 연수

    하하호홓

    Dev-Ops/docker, k8s

    docker 이미지 만들어보기

    2020. 4. 20. 01:30

    1. main.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)
    	}
    }
    

     

    2. Dockerfile 생성

    FROM golang:1.9
    
    RUN mkdir /echo
    COPY main.go /echo
    
    CMD ["go", "run", "/echo/main.go"]

    3. 도커 이미지 빌드
    docker image build -t example/echo:latest .
    (docker image build -t 이미지명:태그명 Dockerfile경로)

    4. 도커 컨테이너 실행
    포그라운드 실행 : docker container run example/echo:latest
    백그라운드 실행 : docker container run -d example/echo:latest
    백그라운드 포트포워딩 : docker container run -d -p 9000:8080 example/echo:latest
    이름지정 : docker container run -d --name echoServer -p 9000:8080 example/echo:latest
    (호스트의 9000포트를 컨테이너8080포트와 연결한다)
    -i : 입력연결유지(-t옵션과 같이사용하는경우가 많음. -it)
    -t : 터미널기능 활성화
    --rm : 컨테이너 종료 시 파기
    -v : 호스트와 컨테이너간에 디렉터리/파일 공유

    5. 도커 컨테이너 목록
    docker container ls
    -q : 실행중인 컨테이너ID만 추출.
    --filter : 필터링. 이름기준) --filter "name=echo1"   이미지기준) --filter "ancestor=example/echo"   상태) --filter "status=exited"
    -a : 종료된 컨테이너 목록

    6. 도커 컨테이너 정지
    docker container stop 컨테이너ID(또는 컨테이너명)

    7. 실행중인 모든 컨테이너 정지(컨테이너ID만 추출 후 정지)
    docker container stop $(docker container ls -q)

    8. 컨테이너 재시작
    docker container restart 컨테이너ID(또는 컨테이너명)

    9. 컨테이너 파기
    docker container rm 컨테이너ID(또는 컨테이너명)
    -f : 실행중인 컨테이너 삭제
    종료된 컨테이너 전부 삭제 : docker container rm $(docker container ls -q --filter "status=exited")

     

    'Dev-Ops > docker, k8s' 카테고리의 다른 글

    쿠버네티스 롤링 리스타트  (0) 2020.05.09
    springboot-app을 docker image생성 및 실행.  (0) 2020.04.21
    docker redis  (0) 2020.04.20
    docker명령어  (0) 2020.04.20
      'Dev-Ops/docker, k8s' 카테고리의 다른 글
      • 쿠버네티스 롤링 리스타트
      • springboot-app을 docker image생성 및 실행.
      • docker redis
      • docker명령어
      설 연수
      설 연수

      티스토리툴바