2016-07-01 4 views
0

약 두 달 전에 Docker를 사용하기 시작했으며 일부 도움을 받아 우분투에서 Ruby 1.9.1을 실행하는 컨테이너를 얻었습니다. 이것은 내 Dockerfile의 제 1 부분입니다 : 최근도커 컨테이너에서 특정 우분투 버전을 요청합니다.

FROM ubuntu 

# Add and update apt sources 
RUN apt-get update; apt-get -y upgrade 

# Add compiler package and ruby1.9.1 
RUN apt-get install -y build-essential ruby1.9.1-dev 
RUN apt-get install -y nodejs 
RUN apt-get install -y npm 

내 친구가 같은 컨테이너를 사용하고 싶어하지만 그는 사용하여 이미지를 구축하려고 할 때 그는 내가 방법을 생각 'Package 'ruby1.9.1-dev' has no installation candidate'을 알리는 메시지를 가져옵니다 dockerfile 그 그는 실제로 다른 우분투 인스턴스를 내 (14.04 대 12, 그 라인을 따라 무언가)

우분투 이미지 우분투 이미지에 대한 루비 1.9 그것에 대한 검색을 시도하고 몇 가지 후보를 보았지만 wasn 그들이 일할 것인지, 아니면 내 자신의 이해 부족 때문인지 나에게 분명히하지 마라.

내가 사용하고 싶은 우분투의 버전을 docker에게 알릴 수 있습니까? 그리고/또는 더 나은 방법으로 우리가 원하는 것을 달성 할 수 있습니까? 불행히도 내가 사용하고있는 보석 중 하나와 호환되지 않기 때문에 Ruby 2.3을 사용할 수 없습니다.

답변

4

당신은 그래서 FROM 명령에 태그로 버전을 지정할 수 있습니다

FROM ubuntu:12.04 

자세한 내용은 the FROM documentationthe ubuntu docker page을 찾습니다.

따라서 그들이 동일한에 대한 REPOS을 행동해야, 기본 이미지가 동일하기 때문에 일어날 가능성이 아니에요
RUN apt-get -y install ruby <version-number> 
0

또한 Dockerfile에서 우분투에 루비의 특정 버전을 설치할 수 있습니다 여러분이나 여러분의 친구가 다른 우분투 이미지를 가지고 우분투로 캐쉬되어 지명 될 수 있습니다. 같은 이미지를 제거하고 고정 표시기 허브에서 다시 당겨

시도 :

docker rmi ubuntu 
docker rmi ubuntu:latest 
docker pull ubuntu 

다음, 다시 시도하십시오.

0

등 :

관련 문제