Docker를 Windows 노트북으로 만져 보았습니다.

회사에서 GCP를 사용하고 있고, 여러가지 공부해야 합니다. 부끄러운 내용이지만 비망록으로 남겨 둡니다. 장래, GCP로 데이터 처리, 데이터 축적을 하고 싶다-,라고도 생각하고 있습니다. 집에서 Windows 노트북으로 Tutorial 움직였습니다.

Windows 설정: Hyper-V 켜기


  • "Windows 기능 활성화 또는 비활성화"에서 Hyper-V를 켜고 다시 시작합니다.
  • Windows 관리 도구에서 Hyper-V 관리자를 시작합니다. (이번에는 중요하지 않지만 가상 컴퓨터는 아직 아무 것도 없습니다.)



  • Docker Desktop for Windows를 사용해 본다.


  • Docker Hub 으로 등록한 후 다운로드.
    Downlaod Docker Desktop for Windows 버튼을 누르고 지침을 따랐지만 CUI docker 도구 세트가 설치된 것 같습니다.
  • 다음은 tutorial Power Shell로 이동했습니다.
  •  git clone https://github.com/docker/doodle.git
    

    ./doodle/cheers2019 라는 디렉토리에서 build 하고 로컬로 이동합니다. build 해서 할 수 있는 것은 이미지라고 불리는 것 같습니다. 소스 코드는 GO lang으로 작성되었습니다. xxxxx는 ID이며 -t <이미지 이름>입니다.
    > docker build -t xxxxx/cheers2019 .
    

    build 하기/이미지 만들기(docker build)



    build 의 설정은, 같은 디렉토리에 있는 Dockerfile 에 쓰여지고 있는 것이 읽혀집니다. 읽어도 잘 모르겠습니다.
    FROM golang:1.11-alpine AS builder
    RUN apk add --no-cache git
    RUN go get github.com/pdevine/go-asciisprite
    WORKDIR /project
    COPY cheers.go .
    RUN CGO_ENABLED=0 GOOS=linux go build -a -ldflags '-extldflags "-static"' -o cheers cheers.go
    
    FROM scratch
    COPY --from=builder /project/cheers /cheers
    ENTRYPOINT ["/cheers"]
    

    로컬로 이동(docker run)



     Usage: docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
    Run a command in a new container

    로컬로 움직입니다. -i는 컨테이너의 표준 입력, -t는 tty를 이용하는 옵션이라고 합니다. --rm (은)는 컨테이너 종료시에 컨테이너 자동적으로 삭제합니다.
    > docker run -it --rm xxxxx/cheers2019
    

    이미지 공유 가능(docker push)



    Docker Hub registry에 push(ship하는?)하고 공유할 수 있는 것 같습니다.
    > docker login; docker push xxxxx/cheers2019
    

    샘플에는 그 밖에 summer2019, halloween2019, birthday2019가 있어, 모두 같은 내용인 것 같았습니다. . .
  • CUI 의 사용법은 여기 에 문서가 있었습니다.
  • 되돌아 보면 CUI는 로그인이나 인증에 관한 조작을 하지 않았습니다. 어쩌면 Docker Desktop for Windows가 모두 잘 어울린 것이라고 생각합니다.
  • Google Cloud Platform에서 실행하는 것이 다음 단계입니다.

  • 참고로 했습니다. 감사합니다.
  • Windows에서 Docker 환경을 사용해보십시오
  • 【비망록】【Docker 분투기:1】Docker for Windows 설치

  • docker run -it에서 Docker 컨테이너 안에 있음
     - docker run의 --rm 옵션 (컨테이너 종료시 컨테이너 자동으로 삭제)

  • 좋은 웹페이지 즐겨찾기