본문 바로가기

리눅스

[draft] Docker를 privileged 모드로 실행하는 방법

728x90

Docker를 privileged 모드로 실행하는 방법(docker privileged 모드)

docker run --privileged [이미지명]

위 명령어에서 [이미지명]은 실행할 Docker 이미지의 이름이나 ID입니다. --privileged 옵션을 사용하여 컨테이너를 실행하면 호스트 시스템의 커널에 대한 완전한 접근 권한을 부여합니다.

 

주의: "privileged" 모드는 컨테이너가 호스트 시스템의 커널에 직접 접근할 수 있는 권한을 가지므로 보안상 주의해야 합니다. 가능한한 "privileged" 모드를 사용하지 않고 다른 방법을 사용하는 것이 권장됩니다.

 

  • docker run 명령어(container)
docker run -d --privileged --name test7 centos:7 /sbin/init
$ docker run -d --privileged --name test7 --hostname test7 centos:7 /sbin/init
4a971360de73927b4b205597211b5624a7c172a476f7e1c7b6494fac73ade5e2
  • docker 명령어를 사용하여 docker container에 접속하기
docker exec -it test7 bash
$ docker exec -it test7 bash
[root@test7 /]# systemctl list-units
  • docker(container) systemctl 명령 사용시 D-Bus 연결 실패 에러
$ docker run -it --rm --name centos7 centos:7 bash
[root@02e19c71bf7d /]# systemctl list-units
Failed to get D-Bus connection: Operation not permitted
docker run -d --privileged -v /sys/fs/cgroup:/sys/fs/cgroup:ro centos:7 /sbin/init
  • docker-compose 편집
vim docker-compose.yml
$ vim docker-compose.yml
version: '3.8'
services:
  centos:
    image: anti1346/centos7
    restart: unless-stopped
    hostname: centos
    container_name: centos
    privileged: true
    user: root
    working_dir: /root/
    volumes:
      - /usr/share/zoneinfo/Asia/Seoul:/etc/localtime:ro
      - /sys/fs/cgroup:/sys/fs/cgroup:ro
    command: /sbin/init
  • docker-compose 실행
docker-compose up -d
  • docker-compose 명령어를 사용하여 docker container에 접속하기
docker-compose exec centos bash
$ docker-compose exec centos bash
root@centos:/$

 

728x90