当前位置: 首页 > 知识库问答 >
问题:

Dockerfile创建一个映像以用作jenkins中的容器代理

百里雅珺
2023-03-14

我正在尝试使用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 agent 

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安装、npm发布。。。在jenkinsfile中管理我的项目。有人能帮忙吗?

谢啦

共有1个答案

蓝逸仙
2023-03-14

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

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   
 类似资料:
  • -----编辑----- 这个问题Docker映像和容器之间有什么区别?没有回答我的问题。 我的问题是:为什么我们需要从图像而不是从DockerFile创建容器?首先从Dockerfile创建映像,然后再创建容器的目的/好处是什么?

  • DockerFile: 在之后,GPG行显示为红色,图像创建失败。为什么?

  • 我试图遵循下面提到的两个步骤: 1)下载的源代码 https://sourceforge.net/projects/hunspell/files/hyphen/2.8/hyphen-2.8.8.tar.gz/download 连字符-2.8.8$./example~/dev/smc/hyphenation/hi_in/hyph_hi_in.dic~/hi_sample.text 我已经下载并解压缩

  • 问题内容: 我有以下内容: 该映像已在本地成功构建。 我正在尝试配置Jenkins管道,并尝试使用以下步骤构建映像: 但是在Jenkins控制台中,我得到了错误: 未知标志:来自 我应该如何编辑我的,尤其是标签,以便能够在本地和通过Jenkins管道构建图像? 更新: 我已经将Docker更新为18.06.1-ce版本。仍然有同样的错误。 詹金斯版 2.89.4 Docker Pipeline插件

  • 我有一个使用在本地开发中运行的项目 但是,我想知道,对于如何将一个通过和应用程序代码库运行多个服务的项目包含到一个带有的映像中进行部署,是否有任何建议或建议。 编辑:据我所知,方法是用Dockerfile从应用程序代码库中构建一个新的映像,然后将其包含在部署环境的文件中? 编辑二:对混淆表示歉意。我在码头是新的,有一点学习曲线!在这种情况下,似乎可以在gitlab注册表中构建应用程序映像,然后将该

  • 在创建docker映像时,我想添加一个数据库和导入模式。当我尝试时,我得到了下面的错误。 160829 22:32:44 mysqld_safe日志记录到'/var/lib/mysql/2DA0903FF372.err'。160829 22:32:44 mysqld_safe从pid文件/var/run/mysqld/mysqld.pid ende d错误2002(HY000):无法通过套接字“/