Yeni bir Docker görüntüsü oluşturma sürecindeyim ve nodej'leri yönetebilmek için NVM'yi kurmayı düşünüyorum.
NVM'nin nasıl kurulacağına ilişkin belgeleri okurken, NVM'yi kullanmaya başlamak için .bashrc dosyanızı kaynak olarak almanız gerektiğini belirtiyorlar.
Bunu bir Dockerfile'da kurmayı denedim, ancak şu ana kadar derleme şu hatayla başarısız oldu:
"bash: nvm: komut bulunamadı"
İşte Dockerfile'ımdaki ilgili satırlar:
ADD files/nvm_install.sh /root/
RUN chmod a+x /root/nvm_install.sh
RUN bash -c "/root/nvm_install.sh"
RUN bash -l -c "source /root/.bashrc"
RUN cd /root
RUN bash -l -c "nvm install 0.10.31"
İşte oluşturmaya çalışmanın sonucu:
docker build -t nginx_dock.
Step 0 : FROM ubuntu
---> 826544226fdc
Step 1 : MAINTAINER dficociello
---> Using cache
---> da3bc340fbb3
Step 2 : RUN apt-get update
---> Using cache
---> 6b6b611feb4f
Step 3 : RUN apt-get install nginx curl -y
---> Using cache
---> 159eb0b16d23
Step 4 : RUN touch /root/.bashrc
---> Using cache
---> 5e9e8216191b
Step 5 : ADD files/nginx.conf /etc/nginx/
---> Using cache
---> c4a4a11296a2
Step 6 : ADD files/nvm_install.sh /root/
---> Using cache
---> b37cba2a18ca
Step 7 : RUN chmod a+x /root/nvm_install.sh
---> Using cache
---> bb13e2a2893d
Step 8 : RUN bash -c "/root/nvm_install.sh"
---> Using cache
---> 149b49a8fc71
Step 9 : RUN bash -l -c "source /root/.bashrc"
---> Running in 75f353ed0d53
---> 0eae8eae7874
Removing intermediate container 75f353ed0d53
Step 10 : RUN cd /root
---> Running in feacbd998dd0
---> 284293ef46b0
Removing intermediate container feacbd998dd0
Step 11 : RUN bash -l -c "nvm install 0.10.31"
---> Running in 388514d11067
bash: nvm: command not found
2014/09/17 13:15:11 The command [/bin/sh -c bash -l -c "nvm install 0.10.31"] returned a non-zero code: 127
Docker'da oldukça yeniyim, bu yüzden Dockerfiles yazmak için temel bir şeyi kaçırıyor olabilirim, ancak şimdiye kadar yaptığım tüm okumalar bana iyi bir çözüm göstermedi.