[linux] Docker 컨테이너에서 vi를 실행하는 방법은 무엇입니까?

호스트 가상 머신에 도커를 설치했습니다. 이제 vi.

하지만 오류가 표시됩니다.

bash: vi: command not found



답변

다음 명령을 사용하여 컨테이너에 로그인합니다.

docker exec -it <container> bash

그런 다음 다음 명령을 실행합니다.

apt-get update
apt-get install vim


답변

컨테이너가 상자에서 꺼내지 않은 것 같습니다.

apt-get install vim터미널에서 실행 하면 준비가 완료됩니다.


답변

실행할 명령은 사용중인 기본 이미지에 따라 다릅니다.

Alpine vi의 경우 기본 OS의 일부로 설치됩니다. 설치 vim는 다음과 같습니다.

apk -U add vim

Debian 및 Ubuntu의 경우 :

apt-get update && apt-get install -y vim

CentOS의 경우 vi일반적으로 기본 OS와 함께 설치됩니다. 대상 vim:

yum install -y vim

이것은 초기 개발 단계에서만 수행되어야합니다. 작동하는 컨테이너를 가져 오면 컨테이너 외부에 저장된 이미지 또는 구성에 파일을 변경해야합니다. Dockerfile 및 새 이미지를 빌드하는 데 사용하는 기타 파일을 업데이트하십시오. 컨테이너 내부의 변경은 일시적으로 설계되었으며 컨테이너를 교체하면 손실되므로 프로덕션에서는이 작업을 수행해서는 안됩니다.


답변

이것을 사용하십시오 :

apt-get update && apt-get install -y vim

위 명령에 대한 설명

  1. apt-get update => 현재 패키지를 업데이트합니다.
  2. apt-get install => 패키지를 설치합니다.
  3. -y => 권한을 통과하면 기본 권한이 예로 설정됩니다.
  4. vim => 설치할 패키지의 이름.


답변

Dockerfile에 다음 줄을 추가 한 다음 Docker 이미지를 다시 빌드합니다.

RUN apt-get update && apt-get install -y vim


답변

또는 불필요한 편집기를 설치하지 않고 Docker 이미지를 작게 유지하십시오. Docker 호스트에서 컨테이너로 ssh를 통해 파일을 편집 할 수 있습니다.

vim scp://remoteuser@container-ip//path/to/document


답변

Debian 기반 컨테이너에서 아래 명령을 사용하십시오.

apt-get install vim-tiny

Dockerfile에서 사용하기위한 전체 지침 :

RUN apt-get update && apt-get install --no-install-recommends -y \
 vim-tiny \
 && apt-get clean && rm -rf /var/lib/apt/lists/*

불필요한 패키지를 설치하지 않고 불필요한 다운로드 파일을 제거하므로 Docker 이미지 크기가 크게 증가하지 않습니다.