docker 강의 / 기본 명령어

5977 단어 2022.042022.04

  • 노트

  • 도커 기본 명령어

docker -v // 도커 다운로드하고 이렇게 하면 확인가능

git clone https://gitlab.com/yalco/practice-docker.git // git clone

docker run -it node // 노드가 깔려서 js를 사용할 수 있음.
// mage가 있으면 container를 몇개든 만들 수 있음.
// -it 명령어는 해당 컨테이너를 만들어서 cli를 사용하겠다는 뜻

docker images // 다운받은 image의 목록을 확인
docker ps // 실행중인 컨테이너를 확인할 수 있음
docker ps -a // 전체 컨테이너 목록을 확인

docker exec -it [NAMES] bash // 해당 컨테이너에서 bash shell 실행하기
  • project 내부
frontend/Dockerfile

Dockerfile // 공식 이미지를 튜닝하는 것 (파일)

RUN // 이미지를 생성하는 과정에서 실행할 명령어
WORKDIR // CMD 명령어를 실행할 위치 설정하는 명령어
CMD // 컨테이너 실행시 실행되는 명령어
  • 프론트 띄워보기
//cli에서 /frontend 위치에 들어와서 
docker build -t frontend-img . // image 생성하기(맨뒤에 .은 Dockerfile 상대경로임)

docker images // frontend-img 이미지 확인가능

docker run --name frontend-con -v $(pwd):/home/node/app -p 8080:8080 frontend-img // 컨테이너 실행
// -v 명령어는 볼륨의 약자. 컨테이너와 특정 폴더를 공유

http://localhost:8080/ // 에 접속하면 화면을 볼 수 있음
// ctrl + c 로 종료 후 컨테이너, 이미지 삭제
  • DB 띄워보기
//mysql:5.7 이미지를 개조할 예정

COPY // 해당 이미지 안에 특정 파일을 미리 넣어둠

// cli에서 /database 위치로 들어가서
docker build -t database-img . // image 생성

docker run --name database-con -it -p 3306:3306 database-img // 컨테이너 생성
// mysql workbench 로 연결할 수 있음
// 이렇게 하면 터미널 하나를 쓸 수 없음
// 컨테이너 중지, 삭제 하기

docker run --name database-con -it -p 3306:3306 -d database-img 
// -d 옵션 데몬의 약자인데. 다른 곳에 가서 깔고 돌리라는 뜻

docker logs -f database-con // 로그 보고싶으면

프론트엔드 폴더, 데이터베이트 폴더, 백엔드 폴더 안에 각각의 Dockerfile이 있음.
각각 실행하면 네트워크가 분리되어 있어서 백엔드와 데이터베이스는 데이터를 주고받지 못함.

한 번의 띄우기 위해 '거시적'설계도인 docker-compose를 사용한다.

테스트를 위해 여태 테스트한 이미지와 컨테이너 삭제

  • docker-compose.yml 살펴보기
// 프로젝트 내부에 해당 파일이 있음.
services:
	database: // database가 dbhost가 됨.

docker-compose up // localhost:8000 들어가면 데이터 보임
docker-compost up -d // 터미널 안보고 돌아가게 할 수 있음.

좋은 웹페이지 즐겨찾기