오늘의 공부 👍
2주차에 배우는 docker를 미리 예습하고 싶어서 정리해보려고 합니다.
📝 Docker
- Go언어로 작성된 리눅스 컨테이너 기반으로하는 오픈소스 가상화 플랫폼이다.
- 모든 서비스를 한 서버안에 올리면 문제가 생길 수 있다.
- 그래서 서버 가상화를 사용한다.
- 운영체제에 따라서 조금씩 환경이 달라진다.
- window를 사용하든, Mac을 사용하든 Linux로 통일이 가능하다.
📝 포트포워딩(포트를 전달한다)
▷ 3000번 포트에서 3000번 포트로 보내기
sudo docker run -p 3000:3000 이미지ID
- 3000번 포트를 받아서 3000번포트로 내보낸다.
▷ 2500번 포트에서 4000번 포트로 보내기
-
app.listen(4000)
으로 하고 저장
-
sudo docker build .
으로 4000번포트의 컴퓨터 저장
-
sudo docker run -p 2500:4000 IMAGE ID
으로 컴퓨터 실행
-
postman
에서 localhost:2500/
으로 확인
📝 Docker 명령어
- Docker는 명령어가 굉장히 많은데 자주 사용하는 명령어들만 정리해보겠습니다.
▷ 만들기
- sudo docker build . // 컴퓨터 만들기
▷ 확인하기
- sudo docker images // 이미지 확인하기
- sudo docker ps // 실행된 컴퓨터( 이미지, 컨테이너 ) 확인하기
- sudo docker ps -a // 모든 컴퓨터( 이미지, 컨테이너 ) 확인하기
- sudo docker images -q // 이미지ID 한번에 보기
- sudo docker ps -a -q // 컨테이너ID 한번에 보기
▷ 실행하기
- sudo docker run 이미지ID // 컴퓨터 실행하기
- sudo docker exec -it 이미지ID /bin/bash // 도커컴퓨터로 접속하기
▷ 멈추기
- sudo docker stop 컨테이너ID // 컴퓨터 멈추기
▷ 삭제하기
- sudo docker rm 컨테이너ID // 컨테이너 한개씩 삭제하기
- sudo docker rmi 이미지ID // 이미지 한개씩 삭제하기
- sudo docker `rm docker ps -a -q` // 모든 컨테이너 삭제하기
- sudo docker rmi `docker images -q` // 모든 이미지 삭제
- sudo docker system prune -a // 모든 컴퓨터 컨테이너 한번에 삭제(실행중인 컴퓨터 X)
출처 및 참고
코드캠프