티스토리 뷰

반응형

🚀  들어가며...

  • pypi서버를 관리하는 도중에 갑자기 서버에 접근이 안되어서 문제를 해결하는 동안 겪었던 착오들과 명령어 위주로 정리해보았습니다.

 

📑 내용

원인

  • docker 컨테이너가 중지되어 있을 경우 접속되지 않음.

 

명령어

1.  컨테이너 목록 확인

  • 현재 실행중인 컨테이너 목록을 확인
docker ps

 

  • 정지되어 있는 컨테이너를 포함한 모든 컨테이너를 확인
docker ps -a
 

 

  • 결과값 정의
    • CONTAINER ID
      • 컨테이너에게 자동으로 할당되는 고유한 ID
      • 출력은 고유 ID의 12자리만 나오지만, 전체 정보를 확인하기 위해서 docker inspect를 사용하면 전체 ID를 확인할 수 있습니다.
    • IMAGE
      • 컨테이너를 생성할 때 사용된 이미지 이름
      • [이미지 이름]:[이미지 버전] 형식으로 출력됩니다.
    • COMMAND
      • 컨테이너가 시작될 때 실행되는 명령어
      • 대부분 이미지에 미리 내장돼있어 별도로 설정할 필요는 없습니다.
      • 이미지에 내장된 커맨드는 docker run이나 create 명령어의 맨 끝에 입력해서 컨테이너를 생성할 때 덮어쓸 수 있습니다.
    • CREATED
      • 컨테이너가 실행되고 난 뒤 흐른 시간을 나타냅니다.
    • STATUS
      • 컨테이너의 상태를 나타냅니다.
      • 실행중이면 "Up", 종료된 상태면 "Exited", 일시 중지된 상태면 "Pause" 등을 나타냅니다.
    • PORTS
      • 컨테이너가 개뱅한 포트와 호스트에 연결된 포트를 나열합니다.
      • 컨테이너를 생성할 때 외부에 노출하도록 설정하지 않으면 ps에서 나타나지 않습니다.
    • NAMES
      • 컨테이너의 고유한 이름
      • --name 옵션으로 이름을 설정하지 않으면 도커 엔진이 임의로 형용사와 명사를 무작위로 조합해 이름을 설정합니다.
      • 컨테이너의 이름은 중복될 수는 없지만 docker rename 명령어로 이름을 변경할 수 있습니다.

 

2. pypi 컨테이너 실행 

name이 동일한 컨테이너가 존재할 경우

=> Error response from daemon: Conflict. The name "pypi" is already in use by container 오류 발생

 

해결방법: 컨테이너 삭제 후 실행 or 다른 name으로 실행

docker run -t -i -d -h pypi.local -v /srv/pypi:/srv/pypi:rw -p 80:80 --name pypi docker.duzon.com/pypi
 

 

3. 컨테이너 중지

  • 컨테이너 중지 명령어
docker stop [CONTAINER ID]

 

4. 컨테이너 삭제

  • 컨테이너 삭제 명령어
docker rm [CONTAINER ID]
 

 

  • 모든 컨테이너 삭제하기(되도록 사용 X)
docker stop $(docker ps -a -q)
docker rm $(docker ps -a -q)

 

정리

  • 이미지 관련 명령어
    • docker pull [이미지 이름]:[이미지 버전] : 이미지 내려받기
    • docker images : 도커 이미지 확인
  • 컨테이너 실행
    • docker create [이미지 이름]:[이미지 버전] : 컨테이너 생성
    • docker start [컨테이너 이름] : 컨테이너 실행
    • docker attach [컨테이너 이름] : 컨테이너 접속
    • docker run -i -t [이미지 이름]:[이미지 버전] : 컨테이너를 생성 및 실행 후 접속
      • -i : 상호 입출력
      • -t : tty활성화 하여 bash 셸 사용
      • --name [컨테이너 이름] : 컨테이너 이름 지정
      • -p : 컨테이너 IP 및 포트 지정
  • 컨테이너 관리
    • docker -v : 도커 버전 확인
    • docker ps : 실행중인 컨테이너 확인
      • -a : 실행중이지 않은 컨테이너도 확인
      • -q : 컨테이너의 ID 가져오기
  • 컨테이너 삭제
    • docker stop [컨테이너 이름] : 해당 컨테이너 실행 중단
    • docker rm [컨테이너 이름] : 실행중이지 않은 컨테이너 삭제
      --f : 컨테이너 강제 삭제

 

🙋🏻‍♂️ 후기

사내에서 pypi서버 관리를 담당하고 있었는데 docker에 대한 개념 정도로만 알고있다가 이번 기회에 docker 컨테이너를 조금이나마 다뤄볼 수 있는 경험이 생겨서 많이 배우는 과정이었습니다.

 

앞으로도 pypi 서버를 관리하면서 이슈가 생기는 부분을 정리할 예정입니다. 잘 봐주시면 감사하겠습니다!

반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함