2017-05-03 21 views
5

hem Docker kapsayıcı oluşturun Eserleri.işe bu beklenen neden emin değilim Java ve node.js

Bir Docker kabına hem Node.js hem de Java'yı yüklemek için basit bir yol var mı?

[20:38:50] W/start - Selenium Standalone server encountered an error: Error: spawn java ENOENT 

Ve şu anda Java konteyner yüklü değil olduğunu sanıyorum -

Sonuçta ben çözmeye çalışıyorum sorun ben Selenyum Webdriver çalıştırırken bir ENOENT hata alıyorum olmasıdır.

cevap

2

Üretilen görüntü başına tek FROM kullanabilirsiniz. node temel görüntü olarak kullanmayı deneyin ve ona java yükleyin.

+0

evet gelen Dockerfile klonu olabilir sanırım, ama ben 30+ ekstra saniye harcamak demektir java yükleme - bir görüntü olsaydı, daha hızlı olurdu ... –

+0

bazı durumlarda, java yüklemek için bir dakika alıyor, eğlenceli –

+0

Ben Java görüntü kullanacağız ve elle node.js yüklemek ... –

1

Dockerfile dosyanızın içinde bulunan FROM, docker'a sadece görüntünün yapılandırmayı başlatması gerektiğini söyler. Birden çok görüntüyü birleştiremezsiniz. Önceden yüklenmiş Java 8 ve düğüm JS'yi sunan çok sayıda konteyner görüntüsü var. Özel olarak herhangi bir görüntüyü tavsiye etmek istemiyorum ama kendi aramanıza gidip, ihtiyaçlarınızı en iyi şekilde karşılayan konteynerleri kullanmanız için sizi docker-hub'a yönlendirecektir.

6

Sizin için en iyi yol, (resmi olarak kullanımdan kaldırılmış olan ve openjdk görüntüsünü kullanmanızı önerir) java alması ve düğümü yüklemektir.

Yani, şu anda 8u151 olduğu son OpenJDK görüntüyü kullanacak

FROM openjdk:latest 

Bu başlayın. Sonra node yüklemek ve diğer bağımlılıklar size gerekebilir:

RUN apt-get install -y curl \ 
    && curl -sL https://deb.nodesource.com/setup_9.x | bash - \ 
    && apt-get install -y nodejs \ 
    && curl -L https://www.npmjs.com/install.sh | sh 

sonradan hırıltı gibi şeyler yüklemek isteyebilirsiniz, bu nedenle bu yanı işe yarayabilir. Toplamda

RUN npm install -g grunt grunt-cli 

aşağıdaki Dockerfile alacak:

FROM openjdk:latest 

RUN apt-get install -y curl \ 
    && curl -sL https://deb.nodesource.com/setup_9.x | bash - \ 
    && apt-get install -y nodejs \ 
    && curl -L https://www.npmjs.com/install.sh | sh \ 
RUN npm install -g grunt grunt-cli 

Sen benim github repo here

+0

Cevabımı güncelledim 7 –

+0

olması gereken düğümün en son sürümünü içerecek olursak Sorun şu ki bu, Debian'da nodejs'in daha eski bir sürümünü yükleyecektir - hem npm hem de nodejs'in daha yeni bir sürümünü nasıl alabilirim? Nodejs için "RUN curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -" kullanıyorum –

+0

Buna ne dersin (başka bir düzenleme)? Resmi github benioku önerdiği gibi 'npm' yükler. En son sürüm olmalı. –

İlgili konular