사용하는 법과 순서에 대해 이론적으로 이해해보자~
Docker는 플랫폼이다.
도커에서 컨테이너 만들어 보자
컨테이너 실행해보자
컨테이너 실행 로그 보자
도커 레지스트리 사용해보자.
도커 레지스트리에서 이미지를 올려보자
도커 레지스트리에서 이미지를 가져와 서비스 해보자
https://cultivatehq.com/posts/docker/
구글 클라우드에서 docker 플랫폼을 사용해보자
<1> GCP cloud shell 사용하기
<2> docker 사용해 보기
<3> 도커 빌드하기
<4> 이미지 레지스트리로 올리기
<5> 레지스트리에서 가져와서 서비스 하자.
<10> 깉이 보면 좋을 사이트
<1> GCP cloud shell 사용하기
1
GCP 는 프로젝트 인증을 받아야 한다.
확인
gcloud auth list
2
구글은 프로젝트 단위로 서비스한다
프로젝트 확인하자
gcloud config list project
참고 할만한 사이트
https://brunch.co.kr/@topasvga/866
<2> docker 에서 컨테이너 사용해 보자
1
docker run hello-world
// 기본적으로 제공되는 이미지가 있어, hello-world 이미지를 가져오게 된다.
2
docker images
docker run hello-world
docker ps
docker ps -a
mkdir test && cd test
3
도커 파일 만들기
cat > Dockerfile <<EOF
// 설정 파일
4
cat > app.js <<EOF
// node 파일
<3> 도커 빌드하기
도커 파일로 이미지를 만드는 과정이다.
1
docker build -t node-app:0.1 .
2
도커 이미지 확인
docker images
3
도커에서 실행하기
외부 4000번 포트를 내부 80 포트와 매칭한다.
docker run -p 4000:80 --name my-app node-app:0.1
4
curl http://localhost:4000
5
도커에서 app 중지 , 삭제
docker stop my-app && docker rm my-app
6
로그 확인
docker logs [container_id]
7
도커에서 빌드하기
cd test
docker build -t node-app:0.2 .
8
도커에서 8080으로 실행하기
docker run -p 8080:80 --name my-app-2 -d node-app:0.2
9
프로세스 확인
docker ps
10
접속 해보기
curl http://localhost:8080
11
로그 확인하기
docker logs -f [container_id]
12
컨테이너 실행하기
docker exec -it [container_id] bash
ls
exit
13
메타 데이터 , 상세 데이터 보기
docker inspect [container_id]
14
docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' [container_id]
// ip 확인 된다.
<4> 이미지 레지스트리로 올리기
실무에서는 레지스트리에 이미지를 올려 놓고 해당 이미지를 사용한다.
1
gcloud config list project
2
docker tag node-app:0.2 gcr.io/[project-id]/node-app:0.2
docker images
3
docker push gcr.io/[project-id]/node-app:0.2
4
콘솔에서 레지스트리 저장소에 올라 와 있는지 확인
5
모든 컨데이너 중지하고 제거
docker stop $(docker ps -q)
docker rm $(docker ps -aq)
6
노드 제거 전에 하위 이미지 제거
docker rmi node-app:0.2 gcr.io/[project-id]/node-app node-app:0.1
docker rmi node:6
docker rmi $(docker images -aq) # remove remaining images
docker images
<5> 레지스트리에서 가져와서 서비스 하자.
실무에서는 레지스트리에 이미지를 올려 놓고 해당 이미지를 사용한다.
docker pull gcr.io/[project-id]/node-app:0.2
docker run -p 4000:80 -d gcr.io/[project-id]/node-app:0.2
curl http://localhost:4000
<10> 같이 보면 좋을 사이트
https://brunch.co.kr/@topasvga/1800
기타
https://brunch.co.kr/@topasvga/1817
감사합니다.