도커 명령어
작성날짜 2025/03/02
컨테이너
실행 중인 컨테이너 목록 확인
docker ps
모든 컨테이너 목록 확인
docker ps -a
컨테이너 생성 및 시작
docker run [옵션] [이미지 이름]
로컬에서 이미지를 찾지 못하면 docker hub에서 다운로드를 시도한다.
-d: dettach 상태로 컨테이너를 실행
-p: 컨테이너의 포트 설정, -p 9000:8000으로 설정하면 외부에서 9000번으로 접속 시 컨테이너 내부엔 8000으로 연결
컨테이너 시작
docker start [컨테이너 ID]
컨테이너 접속
docker attach [컨테이너 ID]
컨테이너 정지
docker stop [컨테이너 ID]
컨테이너 삭제
docker rm [컨테이너 ID]
이미지
다운받은 이미지 목록 확인
docker images
이미지 삭제
docker rmi [이미지 ID]
번외 - dotnet 프로젝트 이미지로 만들기
publish 명령어로 docker에 이미지 등록
dotnet publish --os linux --arch arm64 /t:PublishContainer
--os linux: 운영체제를 리눅스로 설정
--arch arm64: cpu 아키텍처를 arm64로 설정
/t:PublishContainer: docker에 이미지 등록
일단 새로 프로젝트 만들어서 도커에 올리는 것까지는 했는데 내부 ip로 접속하면 접속이 가능하지만 외부에서 도메인으로 접속하면 접속이 안 되는 문제가 있다. 원래 쓰던 nginx로 포트 설정해주면 될 것 같아서 해봤는데 안 됐다... 다른 글들 찾아보니 nginx도 컨테이너로 받아서 돌리던데... 무슨 이득이 있는 거지? 그리고 예제보니까 db컨테이너랑 프로젝트 컨테이너랑 묶어서 돌리던데 어캐하는 거
참고: https://learn.microsoft.com/ko-kr/dotnet/core/containers/sdk-publish