2016-06-08 2 views
11

nginx라는 도킹 응용 프로그램을 시작한 다음 그 안에 bash를 실행했습니다. 나의 거룩한 놀람에 나는 그 컨테이너 안에 정력, vi 또는 심지어 얌을 찾을 수 없다.도커 컨테이너 안에 vim, vi, nano, yum을 사용할 수 없습니다.

나는 도커와 학습에 매우 새로운 사람들이기 때문에 나를 용서해주십시오.

아래의 명령을 사용하여 문제를 재현 할 수 있습니다.

docker run -d --name=my_nginxtemp nginx 
docker exec -i -t my_nginxtemp bash 
docker commit my_nginxtemp my_nginx 

내 호스트 우분투 16.04 내가 최신 고정 표시기 엔진 및 고정 표시기의 CLI를 사용하고

[email protected]:/home/jim/web# docker version 
Client: 
Version: 1.11.2 
API version: 1.23 
Go version: go1.5.4 
Git commit: b9f10c9 
Built: Wed Jun 1 22:00:43 2016 
OS/Arch: linux/amd64 

Server: 
Version: 1.11.2 
API version: 1.23 
Go version: go1.5.4 
Git commit: b9f10c9 
Built: Wed Jun 1 22:00:43 2016 
OS/Arch: linux/amd64 
[email protected]:/home/jim/web# 

내가 15.04 이후 업그레이드 한 내 호스트 이름에 이동하지 마십시오 : slight_smile :

[email protected]:/home/jim/web# lsb_release -a 
No LSB modules are available. 
Distributor ID: Ubuntu 
Description: Ubuntu 16.04 LTS 
Release: 16.04 
Codename: xenial 
[email protected]:/home/jim/web# 

도움을 주시면 매우 감사하겠습니다. 나의 거룩한 놀랍게도

+0

! 일부 항목에서는 Dockerfile을 변경하는 것을 보았습니다. 나는 그것을 시도 할 것이다 –

답변

6

나는 vim, vi 또는 용기 내부도 yum를 찾을 수 없습니다.

간단히 nginx image과 기본 이미지에 따라 달라집니다. vim이 설치되어 있지 않으면 컨테이너에서 찾지 못할 것입니다.

nginxadding the software you need부터 시작하여 자신 만의 이미지를 만들 수 있습니다.

FROM nginx 
RUN apt-get update 
RUN apt-get install vim 
+0

그러나 그 이미지는 인터넷에 접근 할 수 있었 을까? 추가 소프트웨어를 설치 하시겠습니까? 놀랍게도 궁극적으로 OS와 웹 서버가 그 위에 있으며 소프트웨어를 설치할 능력이없는 이유는 무엇입니까? – learner

+0

@learner 해당 이미지는 호스트와 동일한 인터넷 액세스 권한을 갖습니다. 프록시를 사용중인 경우 http://stackoverflow.com/a/35286398/6309를 사용하고 docker 데몬이 프록시 (https://docs.docker.com/engine/admin/systemd/#)를 인식하는지 확인하십시오. http-proxy) – VonC

+0

차가움. 나는 그 이미지를 만들 것이다! 많은 감사합니다 – learner

18

는 sudo apt-get을
는 sudo apt-get을 설치 정력

저도 같은 문제를 가지고 업데이트 할 수 있습니다. 나는 위의 간단한 두 단계를 따라 갔고 매력처럼 작동했습니다.

+0

그게 더 정확 :) 내가 실행하고있는 도커의 –

+0

은 sudo : command not found라고 말합니다. – d8aninja

+1

@ D8Amonk> 이미 루트로 로그인했기 때문입니다. 그냥 "sudo"를 제거하십시오 – Spock

0

당신은 Nginx에 고정 표시기 이미지를 사용하고 추가 할 그것을 수정하는 Dockerfile을 만들 수 있습니다 ... 오늘 나에게 일어난

FROM nginx 
RUN ["apt-get","update"] 
RUN ["apt-get","install","-y","vi"] 
+0

'vi' 패키지를 찾을 수 없습니다. 'vim'을해야했다. –

+0

그래서 RUN [ "apt-get", "install", "- y", "vim"] – KatyGB

관련 문제