Docker

룰루팍 Lolo Park ·2022년 12월 29일
0

docker :
container :
image :

🐳 Docker 명령어 🐳

docker build -f Dockerfile -t fun-docker .

  • -f Dockerfile (Vscode에 내가 만들어놓은 파일명 Dockerfile을 지정함)
  • -t docker image에 이름을 부여 fun-docker 이름의 (-t : like tagging) 도커 image 생성
    Dockerfile에 적어놓은 순서대로 실행되고 있는 것을 볼 수 있다

docker images
생성 된 docker 의 정보를 조회 REPOSITORY를 github의 레포와 비슷하게 이해하면 됨
TAG는 image의 버전, 명시안하면 최근인 latest

docker run -d -p 8080:8080 fun-docker

  • npm run 하듯이 docker를 실행한다
    대신 -d (detach) 를 통하여 나의 로컬 터미널에게, docker가 하는 일이 끝날 때 까지 기다리지 말고 너는 너일해라 라고 말해주는 명령어다. docker는실행되는데 시간이 많이 소요되기 때문에!
  • -p : port publishing - maps a port on the container to a port on the host 왜냐! 각각 container 개별적인 환경에서 동작하므로, 연결해주는 작업이 필요 이렇게 container ID 가 나온다
  • 여기서 내가 열어놓은 다른 npm 서버 8080 포트가 돌아가고 있으면 안된다 중요한건 나의 dockerfile과 서버가 돌아가는 js 파일이 한 directory에 있어야한다

docker ps
현재 실행중인 container list가 나온다

docker logs 컨테이너ID적으세요
동작하는 container log 확인 container에서 발생하고 있는 터미널 메세지(로그) 확인 가능

이렇게 생성한 container를 container repository에 올려보자(배포)
hub.docker.com
새로운 repository를 만들고 내가 만든 docker image 이름을 repo 이름과 맞춰주어야한다

docker tag fun-docker:latest lolopark/docker-practice:latest

그리고 나서 push

push 전에
docker login
docker push 레포이름/태그이름:버전 docker hub에 이렇게 올라가져있는 것을 볼 수 있다

여기서 활용하여! 나의 1차 프로젝트를 docker image container로 만들어 배포해보려하였다.

directory도 맞췄고 docker 가 돌아가는 것도 확인했는데 무엇이 문제인 것인가 무엇이..

docker를


profile
Korean-Arabic Translator, Backend Developer

0개의 댓글