호스트 가상 머신에 도커를 설치했습니다. 이제 vi
.
하지만 오류가 표시됩니다.
bash: vi: command not found
호스트 가상 머신에 도커를 설치했습니다. 이제 vi
.
하지만 오류가 표시됩니다.
bash: vi: command not found
image
당신이 어떤 것을 만들고 있는지에 달려 있습니다. 아마도 image
당신이 사용하고있는 것이 너무 가벼워서 이미지로 실행하는 데 필요한 것만 가지고있을 것입니다. 필요한 패키지를 수동으로 설치해야합니다.
답변:
다음 명령을 사용하여 컨테이너에 로그인합니다.
docker exec -it <container> bash
그런 다음 다음 명령을 실행합니다.
apt-get update
apt-get install vim
컨테이너가 상자에서 꺼내지 않은 것 같습니다.
apt-get install vim
터미널에서 실행 하면 준비가 완료됩니다.
vim-tiny
(Ubuntu)
apt-get update
THENapt-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 및 새 이미지를 빌드하는 데 사용하는 기타 파일을 업데이트하십시오. 컨테이너 내부의 변경은 일시적으로 설계되었으며 컨테이너를 교체하면 손실되므로 프로덕션에서는이 작업을 수행해서는 안됩니다.
USER root
Dockerfile 내부에서이 작업을 수행하지만 다른 사용자로 다시 전환해야합니다. 실행중인 컨테이너 :docker exec -u root ...
이것을 사용하십시오 :
apt-get update && apt-get install -y vim
위 명령에 대한 설명
bash: apt-get: command not found
apk add
또는 불필요한 편집기를 설치하지 않고 Docker 이미지를 작게 유지하십시오. Docker 호스트에서 컨테이너로 ssh를 통해 파일을 편집 할 수 있습니다.
vim scp://remoteuser@container-ip//path/to/document
Docker 컨테이너 내에 설치하려면 명령을 실행할 수 있습니다.
docker exec apt-get 업데이트 && apt-get install -y vim
그러나 이것은 vim이 설치된 컨테이너로 제한됩니다. 모든 컨테이너에서 사용할 수 있도록하려면 Dockerfile을 편집하고
apt-get update && apt-get install -y vim 실행
또는 새 Dockerfile에서 이미지를 확장하고 위의 명령을 추가 할 수도 있습니다. 예 :
FROM <이미지 이름>
apt-get update && apt-get install -y vim 실행
컨테이너 내부 (VM이 아닌 도커에 있음), 기본적으로 설치되지 않습니다. 심지어 apt-get을 , wget과는 작동하지 않습니다. 내 VM이 Ubuntu 17.10에서 실행되고 있습니다. 나를 위해 yum 패키지 관리자가 작동했습니다.
Yum은 데비안이나 우분투의 일부가 아닙니다. 레드햇의 일부입니다. 그러나 Ubuntu에서 작동하며 apt-get과 같이 기본적으로 설치됩니다.
Tu install vim, 다음 명령 사용
yum install -y vim-enhanced
vim을 제거하려면 :
yum uninstall -y vim-enhanced
비슷하게,
yum install -y wget
yum install -y sudo
-y는 yum install packagename 을 수행 한 후 질문이 있으면 예라고 가정합니다.
파일을 한 번만 변경해야하는 경우. 로컬에서 변경하고이 파일로 새 도커 이미지를 빌드하는 것을 선호해야합니다.
도커 이미지에서 / path / to / docker / image / 아래에서 myFile.xml이라는 파일을 변경해야합니다. 그래서 당신은해야합니다.
FROM docker-repo:tag
ADD myFile.xml /path/to/docker/image/
그런 다음 다음을 사용하여 고유 한 도커 이미지를 빌드합니다. docker build -t docker-repo:v-x.x.x .
그런 다음 새로 빌드 된 도커 이미지를 사용합니다.