lxc-console에서 연결을 끊는 방법


41

우분투 12.04에서 lxc로 작업하고 있으며 정말 좋습니다. 그러나 연결 lxc-console후 세션 에서 연결을 끊을 수 없습니다 . Ctrl-aq콘솔에서 연결을 끊을 수있는 곳을 읽었 지만 작동하지 않는 것 같습니다.

대신 lxc-console통해 실행해야합니까 screen?


나는 같은 문제가 있습니다. "-d"매개 변수를 잊어 버린 컨테이너를 시작하면 벗어날 수있는 방법이 없습니다. Ctrl aq는 효과가 없습니다. 내가 찾은 유일한 해결책은 콘솔에 로그인하고 "sudo poweroff"를 수행하는 것입니다.
eos

당신은 또한 lxc-stop다른 껍질에서 할 수 있습니다
Martin Serrano

답변:


56

예, Ctrl-aq기본적으로 작동하지만 아니요 lxc-console는 실제로 screen콘솔 동작을 수행 하는 데 사용하지 않습니다 . 실제로 Ctrl-a접두사로 도 사용 되므로 화면을 사용하는 경우 충돌이 발생할 수 있습니다 . 내부에 screen있지만 그것을 모르는 경우 입력해야 Ctrl-a a q합니다. 기본 동작은 실제로 내부에서 실행중인 쉘로 보내 려면 screen입력 Ctrl-a a해야 ^a한다는 것입니다. -e또는 --escape=PREFIX옵션을 에 전달하여 이스케이프 할 접두사를 변경할 수 있습니다 lxc-console.

또한 lxc-start컨테이너를 시작할 때 즉시 콘솔 모드 Ctrl-a q로 들어가면 탈출 할 때 사용할 수없는 버그가있는 것처럼 보입니다. 사실, 모든 제어 문자가 망가 져서 화면에 인쇄되는 것처럼 보입니다. 예상대로 행동하는 대신 한 가지 해결 방법은 콘솔을 즉시 시작하지 않고 직접 옵션을 연결하지 않도록 -dor --daemon옵션 으로 실행하는 것입니다 .

lxc-start -d -n container-name
lxc-console -n container-name

1
<kbd> Ctrl-a q </ kdb>는 lxc 버전 0.9.0의 연결된 콘솔에 영향을 미치지 않습니다
Jay Taylor

5
lxc 개발자들이 왜 docker가 왜 10 억 배나 더 높은 채택을했는지 궁금해한다면이 버그가 주된 이유 중 하나입니다.
Florian Heigl

1
:이 버그 추한 것에 대해 당신의 감정에 동의하는 동안 @FlorianHeigl, 진정한 이유는 대한 태도이다 bugs.debian.org/cgi-bin/bugreport.cgi?bug=768073 access.redhat.com/articles/1365153에 액세스 할 수 있습니다. redhat.com/discussions/2772171 (및 RedHat이 "No, Docker!"를 사용하여 "LX (C | D)?"에 응답하는 다른 많은 경우 ( "LXD 데비안"및 "LXD Redhat에 대한 Google의 최고 결과 임) query ").
Bojan Markovic

2

컨테이너를 멈추기 위해 한 것

  1. 새 세션을 엽니 다.
  2. 루트로 로그인하십시오.
  3. 컨테이너 상태를 확인하십시오.
  4. lxc-stop -n <name of the container>

컨테이너가 중지됩니다.


0

통해 연결되지 screen않습니까? Ctrl-a d당신을 꺼내야합니다.

우분투 LXC 페이지에 자세한 내용이 있습니다.


아니요, 작동하지 않습니다. lxc-console에서 연결을 끊을 수 있도록 화면을 사용하고 있습니다. 또한 게시 한 링크에이 문제에 대한 정보가 없습니다.
robbyt

"분리 화면 : Ca d 또는 Ca Cd" -help.ubuntu.com/community/LXC#Mini_screen_how-to ; 작동하지 않으면 어떻게해야하는지 잘 모르겠습니다.
El Yobo

1
@ElYobo 아니요, lxc-console실제로는 사용하지 않고 screen비슷한 동작을하며 기본적으로 여기에 설명 된screen 것과 충돌하는 키를 사용합니다 .
aculich

0

로그인하는 다른 방법은을 ssh <ip>사용하는 것 lxc-console입니다. 당신은 그것을 사용하여 데몬으로 시작한 lxc-start -d -n <name>다음 콘솔을 사용하여 로그인하여 처음으로 IP를 얻을 수 있습니다.


0

Xenial-host에서 Trusty LXC로 작업 할 때와 비슷한 문제가 있었고 컨테이너를 시작한 후 컨테이너 lxc-start -F -n CN에서 로그 아웃 할 때 컨테이너를 꺼낼 수 없습니다. 또한 sudo lxc-ls -f호스트가 lxc-stop멈추고 -k 또는 -W 또는 --no-lock 옵션 이있는 명령이 작동하지 않아 결국 컨테이너 프로세스가 종료되었지만 결국 컨테이너를 시작 lxc-start하거나 lxc-attach올바르게 작동하지 않는 컨테이너 프로세스를 종료합니다. lxc_cgfsng에 대한 오류를 표시하고 init pid 등을 찾지 못했습니다.

자세한 내용은 https://github.com/lxc/lxc/issues/1195를 참조하십시오.


-6

일부 응용 프로그램 작업을 마치면 일반적으로 CTR + C 마녀로 종료 할 수 있습니다. 그래도 문제가 해결되지 않으면 항상 quit 명령이 있습니다 : CTRL +.

반면에 Ctrl + D는 "파일 끝"을 의미하며 일반적으로 일부 프로그램이 키보드를 읽지 못하게합니다. CTRL + D를 사용하여 일반 쉘에서 로그 아웃 할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.