실습) 제 3자 이미지 사용하기

이정훈·2024년 8월 19일

Docker

목록 보기
28/34

docker를 통해 제 3자 이미지를 가져오고 실행하는 것을 직접 해보겠습니다.
먼저 이미지를 가져오기 위해서는 docker pull 명령어를 이용해야 합니다.
우리가 가져올 이미지는 ubuntu:22.04 입니다.
':' 기호를 기준으로 왼쪽 ubuntu는 이미지이름 22.04는 태그 이름입니다.
이 이미지는 dockerHub에 공식적으로 존재하는 이미지 입니다.
dockerHub의 ubuntu

ubuntu와 관련해서 많은 이미지가 있는데 가장 많은 pulls가 이루어진 ubuntu를 가져올 것입니다.
해당 이미지에 대한 자세한 정보를 보기 위해 클릭해주면 다음과 같이 나옵니다.

오른쪽 상단을 보면 docker pull ubuntu라고 있으며 COPY를 통해 해당 명령어를 쉽게 복사할 수 있습니다.
이 명령어는 해당 이미지를 다운받기 위해 사용됩니다.
실습에서는 Supported tags이용하여 ubuntu:22.04를 사용하기 위해 뒤에 ubuntu:22.04로 바꾸겠습니다.

docker pull ubuntu:22.04

이렇게 설치가 완료를 하였다면 현재 가지고 있는 이미지 목록이 궁금할 수 있습니다.
이때는 docker image ls 명령어를 사용하면 됩니다.
이 명령어는 현재 가지고 있는 이미지의 리스트를 보여줍니다.

docker image ls


ubuntu만 설치했으니 ubuntu만 존재합니다.

이제 이렇게 만든 이미지를 실행해 봅시다.
docker run 명령어를 통해 실행할 수 있습니다.
docker run 명령어에는 많은 옵션이 들어가는데 현재 사용할 옵션은 -it와 --rm입니다.
-it 옵션은 -i와 -t옵션을 합친 것입니다.
-i 옵션은 컨테이너가 사용자 입력을 받을 수 있게 설정하고 -t 옵션은 터미널을 가상으로 할당하여 컨테이너의 출력이 잘 포맷되도록 합니다.
즉, -it는 입력을 하고 출력을 볼 수 있게 해주는 속성입니다.
--rm 옵션은 해당 컨테이너가 실행을 마치며 자동으로 제거되도록 하는 설정입니다.
우리가 사용할 명령어는 docker run -it --rm ubuntu:22.04입니다.
ubuntu:22.04를 입력과 출력이 가능하게 실행하고 실행이 끝나면 해당 컨테이너를 삭제한다는 것입니다.

docker run -it --rm ubuntu:22.04


이렇게 ubuntu 컨테이너의 터미널에 접속이 됩니다.

이제 ubuntu를 간단하게 사용해 봅시다.
먼저 apt update를 통해 ubuntu의 패키지 리스트를 업데이트 합시다.

apt update


이후에 apt install iputils-ping --yes를 통해 핑 테스트를 할 수 있는 도구를 설치합시다.
--yes옵션은 설치 중에 나타나는 모든 확인 요청에 yes로 응답하게 합니다.

apt install iputils-ping --yes


이렇게 핑 테스트 도구를 설치하였다면 naver.com에 핑을 보내 봅시다.

ping naver.com -c 4 명령어를 입력하면 됩니다.
-c 옵션은 핑을 전송할 횟수를 지정하는 것입니다.
즉, naver.com에 4번의 핑을 전송합니다.

ping naver.com -c 4


정상적으로 컨테이너와 네이버가 핑을 주고 받았습니다.

이것으로 간단하게 컨테이너를 만들고 해당 컨테이너에서 작업을 해보았습니다.
이제 exit를 통해 컨테이너를 나가 줍시다.
앞서 컨테이너를 실행할 때 --rm 옵션을 넣었기 때문에 exit로 나가면 컨테이너가 자동 삭제될 것입니다.

exit

컨테이너가 자동으로 삭제되었는지 확인해 봅시다.
docker container ls명령어를 통해 현재 실행중인 컨테이너 리스트를 가져올 수 있습니다.

docker container ls

위와 같은 방법으로 --rm 옵션을 사용하면 컨테이너를 한 번만 사용하는 테스트용도로 사용하는 것입니다.
그러나 우리는 컨테이너를 계속 사용하고 싶습니다. 그렇기 때문에 --rm옵션 없이 실행해야 합니다.
이번에는 --rm 옵션 없이 컨테이너를 실행시켜 봅시다.
여기에서 --name 옵션을 쓸 것인데 컨테이너에 이름을 지어주는 것입니다.

docker run -it --name my-ubuntu-container ubuntu:22.04


그리고 바로 exit를 통해 컨테이너 터미널에서 나가 줍시다.

exit

컨테이너 터미널에서 나왔지만 컨테이너는 아직 존재합니다.
이를 확인하기 위해서는 아래 명령어를 이용하면 됩니다.
-a 옵션은 모든 컨테이너라는 뜻으로 실행중인 컨테이너 뿐만 아니라 중지된 컨테이너도 보여줍니다.

docker container ls -a

해당 컨테이너를 다시 실행 시켜 봅시다.
docker start container_name 명령어로 가능합니다.

docker start my-ubuntu-container

docker container ls 명령어를 통해 보면 컨테이너가 다시 실행중인 것을 알 수 있습니다.
그러나 터미널에 접속되지는 않았습니다.
이렇게 실행중인 컨테이너의 터미널에 접속하기 위해서는
docker attatch container_name 명령어를 이용하면 됩니다.

docker attach my-ubuntu-container

참고로 컨테이너는 stateless입니다.
상태를 저장하지 않는 것이 기본이라는 것입니다.
그렇기 때문에 컨테이너를 새로 만들었고 ping 테스트를 해보고 싶다면 다시 처음부터 핑 테스트 도구를 설치하셔야 합니다.

profile
기록으로 흔적을 남깁니다.

0개의 댓글