반응형
현재 진행중인 프로젝트의 내부 코드를 짜면서 알게된 내용을 설명할 건데,
내부 코드를 유출 할 순 없어서
Java로 ssh 연결을 해서 command를 짰지만
그부분은 생략하고 바로 linux로 표현하도록 하겠다!
(환경 : linux centOS7)
1. 도커 이미지 확인하기
도커 이미지를 생성하는 부분을 맡지는 않았기 때문에...
도커 이미지를 생성하고 로드하고 하는 부분은 잘 몰라서 이미 도커 이미지가 준비되어있는 상황이라고 가정하고 설명하도록 하겠다.
docker images
현재 리눅스에 사용할 수 있는, 준비된 도커 이미지 목록을 확인할 수 있다.
2. 도커 컨테이너 생성하기
docker run -p [port]:[exposePort] --name [컨테이너이름] [도커이미지이름]
(-p, --name 옵션은 필수가 아니다!)
내가 개발할 때는 위 코드를 기본으로 사용했었다.
- [port] : 도커서비스를 제공하는 ip가 접근 가능한 port번호. 사용자가 접근하는 port번호가 된다. (=> 나의 경우 도커 ip에 대해 포트포워딩 한 포트번호에 해당)
- [exposePort] : 개발서버와 도커서버를 연결하는 port번호. 개발서버에서 도커 ip를 이용해서 연결하는 port번호가 된다.(=> 나의 경우 도커 서버의 tcp6의 포트번호에 해당)
- [컨테이너이름] : 적당히 생성해 주면 된다. 컨테이너에게 이름을 붙여주자.
- [도커이미지이름] : docker images했을 때 나오는 컨테이너 이름을 확인하고 원하는 환경을 가진 도커 이미지의 이름을 넣어주자.
*port, exposePort는 확실하진 않지만 내가 이해한 것을 바탕으로 작성했다. 혹시 잘못된 부분이라면 댓글 남겨주길 바란다! 바로 수정하도록 하겠다 ㅠㅠ!!
3. 생성된 도커 컨테이너 확인하기
docker ps -a
watch -n 1 docker ps -a
docker ps에는 다양한 옵션이 있는데 나는 -a옵션을 가장 많이 사용했다.
- -a : 모든 컨테이너 확인
- watch -n 1 : 1초에 한번씩 refresh하여 보여줌
4. 도커 컨테이너 삭제
docker stop [컨테이너이름 or 컨테이너ID]
docker rm [컨테이너이름 or 컨테이너ID]
혹은
docker rm -f [컨테이너이름 or 컨테이너ID]
컨테이너는 바로 삭제 할수 없다. 먼저 컨테이너를 종료시킨 후 삭제가 가능하다.
그러나 -f옵션을 사용한다면 강제로 삭제 할 수 있다.
내가 컨테이너를 조작(?)할 때 가장 많이 사용했던 리눅스 명령어들이다.
잘 만들어지고 잘 접속되는지 계속 확인해야 해서 그랬던 것 같다.
잘 몰라도 사실 저정도만 좀 손에 익으면 컨테이너는 쉽게 생성하고 삭제 할 수 있다!
(다만 run 옵션은 다양하기 때문에 프로젝트 요구조건에 맞게끔 짜줘야한다..)
다음 포스팅에는 내가 애먹었던!! "컨테이너 자동 삭제"에 대해서 포스팅 해보도록 하겠다!
반응형
'IT > 도커' 카테고리의 다른 글
[docker] GPU를 사용하는 도커 컨테이너 띄우기(1) - nvidia container toolkit 설정 (0) | 2024.08.02 |
---|---|
[docker] Grafana iframe에 넣을 때 'X-Frame-Options' to 'deny' 오류 해결 (0) | 2024.05.09 |
[docker] Prometheus / Grafana - err="open data/queries.active: permission denied" 에러 해결 (SELinux) (1) | 2024.04.26 |
[docker] 도커 컨테이너 생성 시 일정 시간 이후 자동 삭제시키는 법 (sleep) (0) | 2024.04.09 |
[docker] 초보자의 도커 입문 - 도커 기본 용어 설명 (0) | 2024.04.08 |