반응형
Docker는 개념부터 시작하면 복잡하고 그 내용을 전부 정리하면 두께가 엄청나지만 실제로 사용하는 내용은 적다. 일반적으로 복잡한 일을 할 때보다 대충 환경 설정 귀찮아서 이미지 받은 뒤 컨테이너 만들어서 편하게 해보려고 쓰는 경우가 많기 때문에 쓰는 command와 argument (편의 상 태그라고 하겠다.) 만 쓰는 경우가 많다.
최소로 외워둘 커맨드
- docker images : 받은 이미지 리스트 출력.
- docker ps -a : 현재 컨테이너 리스트 출력.
- docker rm CONTAINER_NAME : 컨테이너 삭제. --rm 태그 빼먹었을 때 자주 씀.
- docker rmi IMAGE_NAME:TAG : 이미지 삭제.
- docker start CONTAINER_NAME : 컨테이너 켜기.
- docker attach CONTAINER_NAME : 컨테이너로 들어가기.
- docker stop CONTAINER_NAME : 컨테이너 끄기. 터미널 닫아서 끄지 맙시다.
최소로 외워둘 태그
- -v <PATH_IN_LOCAL>:<PATH_IN_CONTAINER> : 로컬 PC의 특정 디렉토리와 컨테이너 내 특정 디렉토리를 연결.
- -it : interative mode. 실행용 docker 아니고 환경용 docker로 쓸 경우. 터미널을 써야할 경우.
- --rm : 종료 시 컨테이너 사라짐. 처음 만들어서 테스트할 때나 디버깅할 때 유용.
- --name <CONTAINER_NAME> : 컨테이너 이름짓기. 안 해두면 나중에 찾기 힘들고 start/attach가 귀찮아짐.
- --privileged : 시스템 주요 자원에 접근할 수 있는 권한 부여. 장비 접근, 네트워크 인터페이스의 활성화/비활성화, IP 주소 변경 등. 카메라나 센서 써야되면 추가.
- --gpus <DEVICE ID> : gpu 접근 허용. 딥러닝하거나 cuda 써야할 경우 사용함. 맘편하게 ID 대신 all 쓰는게 좋음.
- -p <LOCAL_PORT>:<CONTAINER_PORT> : 로컬 PC IP와 컨테이너 IP 연결. TCP/IP 통신해야 할 경우, 사용할 포트 번호 맞춰서 추가. 정해진 포트 쓰는 경우도 있으니 유의.
알고 있으면 좋을 태그
- -v /tmp/.X11-unix:/tmp/.X11-unix:ro : 호스트의 x윈도우와 컨테이너의 윈도우를 연결. GUI나 이미지 띄우고 싶을 때 1.
- --env DISPLAY=$DISPLAY : GUI나 이미지 띄우고 싶을 때 2.
- --env "QT_X11_NO_MITSHM=1" : GUI나 이미지 띄우고 싶을 때 3.
- docker rmi $(docker images -f "dangling=true" -q) : <none> 이미지들 한 번에 지울 때.
위의 내용만 외우고 있으면 매번 검색하는 횟수를 엄청 줄일 수 있다. 그냥 모르면 다 추가하면 된다. 전혀 문제될 것 없는 최소 태그들이다.
반응형
'Knowhow > Docker' 카테고리의 다른 글
VScode를 활용한 container 원격 활용 방법 (VScode로 remote container 사용하기) (0) | 2024.02.14 |
---|---|
DockerFile로 효율적으로 이미지 빌드하기 (w/ tip) (0) | 2024.01.29 |
Docker 이미지/태그 명 바꾸기, private server에 push하기 (0) | 2023.07.03 |
DockerFile 내부에서 github private repository clone 하기 (0) | 2023.06.22 |
Docker container 내에서 python 개발할 경우, VScode 활용법 (0) | 2023.05.16 |