티스토리 뷰
반응형
🚀 들어가며...
- 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 명령어로 이름을 변경할 수 있습니다.
- CONTAINER ID
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 서버를 관리하면서 이슈가 생기는 부분을 정리할 예정입니다. 잘 봐주시면 감사하겠습니다!
반응형
'IT지식' 카테고리의 다른 글
[Linux] su / su - / sudo 명령어의 차이점에 대해 알아보자! (2) | 2022.10.15 |
---|---|
[Git] .gitignore 파일을 작성해보자! (2) | 2022.09.20 |
Gateway란? 이해하기 쉽게 정리해보자! (1) | 2022.08.02 |
웹 브라우저에 URL을 입력하면 어떤 일이 생기나요? (13) | 2022.07.18 |
[IT지식] 아직도 구글링만 하시나요?? 개발자용 검색엔진 추천!! (1) | 2022.07.15 |
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- SQL
- react
- JS
- lv1
- uSWGI
- docker
- data formatting
- This
- Default export
- Greedy Algorithm
- Python
- Linux
- programmers
- Master & Slave
- Named export
- lv2
- generator expression
- Algorithm
- container
- union-find
- django
- 탐욕법
- db
- list
- django ORM
- JavaScript
- MVT
- PostgreSQL
- static files
- ORM
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함