도커(Docker) : 사용자 계정으로 리눅스 컨테이너 실행하기

반응형

 

도커(Docker) : 사용자 계정으로 리눅스 컨테이너 실행하기

 

본 글에서는 리눅스 도커 컨테이너를 실행할 때 특정 사용자 계정으로 컨테이너를 실행하는 방법에 대해 소개한다.

기본 명령으로 리눅스 도커 컨테이너를 실행하면 다음과 같이 root 계정으로 컨테이너가 실행된다.

C:\Users>docker run -it ubuntu:14.04
root@8d377bfb3ae0:/#

 

리눅스를 root 계정으로 사용하면 일부 제약 사항이 있을 수 있으므로, 일반 사용자 계정으로 실행해야 하는 경우가 있다.

 

도커 컨테이너 실행 시에 "-u <사용자 계정>" 옵션을 사용하면 원하는 사용자 계정으로 컨테이너를 실행할 수 있다. 

물론 이 경우에 해당 사용자 계정이 도커 이미지 내에 이미 생성되어 있어야 한다.

 

다음은 초기 도커 컨테이너에서 user1이라는 사용자 계정을 추가하고 도커 이미지를 만든 후, 해당 사용자 계정으로 도커 컨테이너를 재실행하는 절차를 보여준다.

  • "docker run -it ubuntu:14.04" : ubuntu:14.04 컨테이너를 실행한다.
  • "adduser user1" : user1이라는 사용자 계정을 추가한다.
  • 컨테이너 종료 후, "docker commit <container id> <image name>" : 사용자 계정이 추가된 도커 이미지를 생성한다.
  • "docker run -it -u user1 <image name>" : 새롭게 생성된 도커 이미지를 user1이라는 사용자 계정으로 실행한다.
C:\Users>docker run -it ubuntu:14.04
root@8d377bfb3ae0:/#
root@8d377bfb3ae0:/# adduser user1
Adding user `user1' ...
Adding new group `user1' (1000) ...
Adding new user `user1' (1000) with group `user1' ...
Creating home directory `/home/user1' ...
Copying files from `/etc/skel' ...
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Changing the user information for user1
Enter the new value, or press ENTER for the default
        Full Name []:
        Room Number []:
        Work Phone []:
        Home Phone []:
        Other []:
Is the information correct? [Y/n]
root@8d377bfb3ae0:/#
root@8d377bfb3ae0:/#
root@8d377bfb3ae0:/#
root@8d377bfb3ae0:/# exit
exit

C:\Users>docker commit 8d377bfb3ae0 ubuntu:test
sha256:d12d4e22c2338dd5924f748d3f61b61e7e52042c6a0b8bb30e0b8043ceedf93c

C:\Users>docker run -it -u user1 ubuntu:test
user1@553940efeae5:/$
user1@553940efeae5:/$
user1@553940efeae5:/$ whoami
user1
user1@553940efeae5:/$

 

파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있음

댓글

Designed by JB FACTORY