Docker 기반 컨테이너 환경에서 systemctl명령어를 사용하게 되면, "Failed to get D-Bus connection"에러가 나오는 경우가 있습니다.
컨테이너 생성시
docker run --privileged --name container image /sbin/init
컨테이너를 생성시에 --privileged 옵션을 추가하고, /sbin/init 명령어로 컨테이너를 실행시킵니다.
docker exec -it container /bin/bash
생성된 컨테이너에 bash쉘로 프로세스를 가동시켜서 접속하게 되면, 문제없이 systemctl 명령어를 사용할 수 있게 됩니다.
Mac 환경에서서는 추가적으로 설정
맥에서는 버전에 따라서 추가적인 설정파일의 수정이 필요합니다.
위의 방법으로도 해결이 되지 않는 경우에는 아래의 파일 경로의 설정파일을 수정해보세요.
설정파일 수정
// ~/Library/Group\ Containers/group.com.docker/settings.json
{
...
"deprecatedCgroupv1": true
...
}
위의 경로의 파일에서 "deprecatedCgroupv1"값이 false 인 경우에 true로 변경해줍니다.
'IT 공부 > Docker' 카테고리의 다른 글
[ Docker ] centos7와 php8환경에서 imageMagick7 을 설치 (0) | 2022.12.20 |
---|---|
[ Dcoker ] Centos7환경에서 php8 버전 설치 (0) | 2022.12.20 |
[ Docker ] Linux환경에 MySQL8.0설치 및 설정 (0) | 2022.12.16 |
[ Docker ] Dockerfile을 이용해서 Nginx 컨테이너 + image 생성 (0) | 2021.12.31 |
[ Docker ] Dockerfile을 이용한 image 생성하기 (0) | 2021.12.30 |