///
Search

03.Install Ubuntu 20.04 Container using Docker

도커 ubuntu 20.04 컨테이너 만들기

명령어
docker run ubuntu:20.04
Go
복사
실행시키면 이런 메시지가 나오게 된다.
(base) glory@Gloryui-MacBookPro ~ % docker run ubuntu:20.04 Unable to find image 'ubuntu:20.04' locally 20.04: Pulling from library/ubuntu d519e1112222: Pull complete d22d21112222: Pull complete b3afe1112222: Pull complete Digest: sha256:ea188fdc5be9b1112222f1bc1112222711122226a8a4fea41112222a Status: Downloaded newer image for ubuntu:20.04 (base) glory@Gloryui-MacBookPro ~ %
Go
복사
run 명령어를 사용하면 사용할 이미지가 저장되어 있는지 확인하고 없다면 다운로드 (pull) 한 후 컨테이너를 생성(create)하고 시작(start)
받아놨던 이미지를 지울려면 아래와 같은 명령어를 입력하면 된다.
docker rmi ubuntu:20.04
Go
복사
docker run ubuntu:20.04 명령어를 계속 입력을 하면 아무런 값도 리턴을 안해주는데 그 이유는 컨테이너는 정상적으로 실행됐지만 뭘 하라고 명령어를 전달하지 않았기 때문에 컨테 이너는 생성되자마자 종료됨. 컨테이너는 프로세스이기 때문에 실행중인 프로세스가 없으면 컨테이너는 종료됨.
조금 더 자세하게 설명하면 도커 이미지마다 컨테이너가 만들어질때 실행할 명령어를 지정할 수 있고 ubuntu:20.04는 "/bin/bash"가 지정되어 쉘이 실행되야 하지만, 입 력을 받을 수 있도록 "-it"옵션을 입력하지 않았기 때문에 바로 실행이 종료

/bin/sh 실행하기

명령어
docker run --rm -it ubuntu:20.04 /bin/sh
Go
복사
컨테이너 내부에 들어가기 위해 sh를 실행하고 키보드 입력을 위해 -it 옵션을 줍니다. (중요)
추가적으로 프로세스가 종료되면 컨테이너가 자동으로 삭제되도록 --rm 옵션도 추가 합니다.(중요)
-rm 옵션이 없다면 컨테이너가 종료되더라도 삭제되지 않고 남아 있어 수동으로 삭제해야 합니다. (중요)
실행화면
(base) glory@Gloryui-MacBookPro ~ % docker run --rm -it ubuntu:20.04 /bin/sh # # ls bin boot dev etc home lib lib32 lib64 libx32 media mnt opt proc root run sbin srv sys tmp usr var #
Go
복사
위에 보면 ls에 파일 목록이 잔뜩 있는데. 이건 전부 우분투에 있는 파일이다.
(base) glory@Gloryui-MacBookPro ~ % docker run --rm -it ubuntu:20.04 /bin/sh # # ls bin boot dev etc home lib lib32 lib64 libx32 media mnt opt proc root run sbin srv sys tmp usr var # cat /etc/issue Ubuntu 20.04.1 LTS \n \l #
Go
복사
위에 보면 etc하위 파일에 issue 보면 Ubuntu 20.04.1 LTS \n \l 라는 것을 확인할 수 있다.
콘테이너를 나가려면 다음 명령어를 입력하면 된다.
exit
Go
복사