Docker + VScode 사용법 (5분 내로 핵심만)

crunch-code ㅣ 2024. 12. 5. 20:17

1. 자주 쓰는 명령어

cd <Dockerfile 경로>
docker compose up --build
docker compose run --rm <이미지명>
exit    #컨테이너 상 bash에서 입력 -> 도커 종료
ctrl + p + q    #컨테이너 끄지 않고 나가기


docker ps -a    #전체 컨테이너 확인
docker container ls    #실행 중인 컨테이너 확인

docker rm -f <컨테이너ID>    #특정 컨테이너 삭제 (CLI에서 오류가 나서, 끄기 힘들 때 유용)
docker compose down    #docker compose에 정의된 모든 컨테이너 정지 및 삭제

docker compose up    #정지된 컨테이너 모두 재실행
docker compose start <컨테이너>    #특정 컨테이너 재실행
docker exec -it <컨테이너ID> bash    #다른 shell에서 컨테이너 실행할 때

 

 

2. Dockerfile 작성하기

# FROM {베이스image}:{버전}
FROM ubuntu:22.04


# 터미널에서 실행시킬 명령어
RUN apt-get updates &&
	apt-get instll -y \
    <패키지1> \
    <패키지2>

RUN echo "source /home/user/ros2_ws/install/setup.bash" >> ~/.bashrc


# 명령어를 주지 않는 경우 (RUN 사용x)
CMD ['python', 'hi.py']


# 경로변경
WORKDIR /home/


# 환경변수
ENV GAZEBO_MODEL_PATH=/home/temp
RUN unset GAZEBO_MODEL_PATH #해제


# 복사하기  COPY <host 경로> <local 경로>
COPY /home/host/ /home/local/
# 만약, 도커 컨테이너 내에서 수정한 스크립트가 host의 원본에도 반영되도록 하고 싶다면,
# docker-compose.yml 에서 volumes를 이용하자!

 

 

3. docker-compose.yml 작성하기

version: "3.9"  # optional since v1.27.0

services:
  service_name:
    build: .   #빌드 디렉토리
    ports:    #외부와 통신할 포트
      - "5000:5000"    #외부:내부
    volumes:    #host와 공유할 폴더 설정 -> (주의) 컨테이너에서 수정하면, host도 변경된다!
      - README.md:/home/user/Documents/README.md
    networks:		#컨테이너가 속한 네트워크
      - service-network

 

4. VScode에 docker 기능 설치

  • VScode의 extension에서 아래 세개  설치
    • Remote development
    • Docker
    • Docker engine

 

 

 

참고자료

 

 

'Skills' 카테고리의 다른 글

GUI 제작 Tool: PySide & PyQt  (1) 2024.12.14
로봇 모델링: URDF, SDF  (0) 2024.12.08
Github 사용법 (5분 내로 핵심만)  (0) 2024.12.04