4장. 컨테이너화된 서비스 작업
이 장에서는 컨테이너를 관리하는 명령과 OpenStack Platform 컨테이너 문제를 해결하는 방법에 대한 몇 가지 예를 제공합니다.
4.1. 컨테이너화된 서비스 관리 링크 복사링크가 클립보드에 복사되었습니다!
오버클라우드는 컨테이너에서 대부분의 OpenStack Platform 서비스를 실행합니다. 호스트의 개별 서비스를 제어해야 하는 경우도 있습니다. 이 섹션에서는 오버클라우드 노드에서 실행하여 컨테이너화된 서비스를 관리할 수 있는 일반적인 docker 명령을 제공합니다. Docker를 사용하여 컨테이너를 관리하는 방법에 대한 자세한 내용은 컨테이너 시작하기 가이드의 Docker 형식 컨테이너 작업 을 참조하십시오.
이러한 명령을 실행하기 전에 오버클라우드 노드에 로그인되어 있고 언더클라우드에서 이 명령을 실행하지 않는지 확인합니다.
컨테이너 및 이미지 목록 표시
실행 중인 컨테이너를 나열하려면 다음을 수행합니다.
sudo docker ps
$ sudo docker ps
중지된 컨테이너 또는 실패한 컨테이너도 나열하려면 --all 옵션을 추가합니다.
sudo docker ps --all
$ sudo docker ps --all
컨테이너 이미지를 나열하려면 다음을 수행합니다.
sudo docker images
$ sudo docker images
컨테이너 속성 확인
컨테이너 또는 컨테이너 이미지의 속성을 보려면 docker inspect 명령을 사용합니다. 예를 들어 keystone 컨테이너를 검사하려면 다음을 수행합니다.
sudo docker inspect keystone
$ sudo docker inspect keystone
기본 컨테이너 작업 관리
컨테이너화된 서비스를 다시 시작하려면 docker restart 명령을 사용합니다. 예를 들어 keystone 컨테이너를 다시 시작하려면 다음을 수행합니다.
sudo docker restart keystone
$ sudo docker restart keystone
컨테이너화된 서비스를 중지하려면 docker stop 명령을 사용합니다. 예를 들어 keystone 컨테이너를 중지하려면 다음을 수행합니다.
sudo docker stop keystone
$ sudo docker stop keystone
중지된 컨테이너화된 서비스를 시작하려면 docker start 명령을 사용합니다. 예를 들어 keystone 컨테이너를 시작하려면 다음을 수행합니다.
sudo docker start keystone
$ sudo docker start keystone
컨테이너를 다시 시작한 후에 컨테이너 내의 서비스 설정 파일에 대한 모든 변경 사항을 되돌립니다. 컨테이너가 /var/lib/config-data/puppet-generated/ 에서 노드의 로컬 파일 시스템에 있는 파일을 기반으로 서비스 구성을 다시 생성하기 때문입니다. 예를 들어 keystone 컨테이너 내의 /etc/keystone/keystone.conf를 편집하고 컨테이너를 다시 시작하는 경우 컨테이너가 노드의 로컬 파일 시스템에서 /var/lib/config-data/puppet-generated/keystone/etc/keystone/keystone.conf를 사용하여 구성을 다시 생성합니다. 이는 다시 시작하기 전에 컨테이너 내에 만들어진 모든 변경 사항을 덮어씁니다.
컨테이너 모니터링
컨테이너화된 서비스의 로그를 확인하려면 docker logs 명령을 사용합니다. 예를 들어 keystone 컨테이너의 로그를 보려면 다음을 수행합니다.
sudo docker logs keystone
$ sudo docker logs keystone
컨테이너 액세스
컨테이너화된 서비스의 쉘에 들어가려면 docker exec 명령을 사용하여 /bin/bash 를 시작합니다. 예를 들어 keystone 컨테이너 쉘에 들어가려면 다음을 수행합니다.
sudo docker exec -it keystone /bin/bash
$ sudo docker exec -it keystone /bin/bash
root 사용자로 keystone 컨테이너 쉘을 시작하려면 다음을 수행합니다.
sudo docker exec --user 0 -it <NAME OR ID> /bin/bash
$ sudo docker exec --user 0 -it <NAME OR ID> /bin/bash
컨테이너를 종료하려면 다음을 수행합니다.
exit
# exit