繁体   English   中英

Dockerfile创建映像以用作jenkins中的容器从属

[英]Dockerfile to create an image to be used as an container slave in jenkins

我正在尝试在Jenkins中使用节点从属容器在其上运行npm指令。 因此,我正在创建一个Dockerfile以使用ssh和nodejs获得有效的映像。 执行程序运行良好,但是当我使用npm时,它说它不知道该命令。

当(在构建dockerfile之后)我执行docker exec -it af5451297d85 bash,然后在容器内,我尝试执行npm --v时,会发生相同的问题。

# This Dockerfile is used to build an image containing an node jenkins slave

FROM node:9.0
MAINTAINER Estefania Castro <estefania.castro@luceit.es>

# Upgrade and Install packages
RUN apt-get update && apt-get -y upgrade && apt-get install -y git openssh-server 

# Install NGINX to test.
RUN apt-get install nginx -y

# Prepare container for ssh
RUN mkdir /var/run/sshd && adduser --quiet jenkins && echo "jenkins:jenkins" | chpasswd

RUN npm install

ENV CI=true
EXPOSE 22

CMD ["/usr/sbin/sshd", "-D"]

我想运行npm指令,例如npm install,npm publish等,以便在jenkinsfile中管理我的项目。 有人可以帮忙吗?

谢谢

我已经解决了问题(两周后哈哈)。

FROM jenkins/ssh-slave

# Install selected extensions and other stuff
RUN apt-get update && apt-get -y --no-install-recommends install && apt-get clean
RUN apt-get install -y curl 

# Install nodejs    
RUN curl -sL https://deb.nodesource.com/setup_8.x | bash -
RUN apt-get install -y nodejs && apt-get install -y nginx   

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM