在Dockerfile中添加windows文件夹

在Dockerfile中添加windows文件夹,windows,jenkins,docker,dockerfile,Windows,Jenkins,Docker,Dockerfile,我已经为nodejs和mongodb安装了dockerfile。我安装了docker插件并在其中创建了一个作业。现在,我需要从Dockerfile构建映像。我必须在Dockerfile中应用copy命令,才能将nodejs应用程序复制到容器中 FROM ubuntu:latest #OS Update RUN apt-get update RUN apt-get -y install git git-core unzip python-pip make wget build-essential

我已经为nodejs和mongodb安装了dockerfile。我安装了docker插件并在其中创建了一个作业。现在,我需要从Dockerfile构建映像。我必须在Dockerfile中应用copy命令,才能将nodejs应用程序复制到容器中

FROM ubuntu:latest

#OS Update
RUN apt-get update
RUN apt-get -y install git git-core unzip python-pip make wget build-essential python-dev libpcre3 libpcre3-dev libssl-dev vim nano net-tools iputils-ping supervisor curl supervisor

WORKDIR /home/wipro
#Mongo Setup
RUN curl -O http://downloads.mongodb.org/linux/mongodb-linux-x86_64-3.0.2.tgz && tar -xzvf mongodb-linux-x86_64-3.0.2.tgz && cd mongodb-linux-x86_64-3.0.2/bin && cp * /usr/bin/
#RUN mongod --dbpath /home/azureuser/CI_service/data/ --logpath /home/azureuser/CI_service/log.txt --logappend --noprealloc --smallfiles --port 27017 --fork

#Node Setup
#RUN curl -O https://nodejs.org/dist/v0.12.7/node-v0.12.7.tar.gz && tar -xzvf node-v0.12.7.tar.gz && cd node-v0.12.7
#RUN cd /opt/node-v0.12.7 && ./configure && make && make install
#RUN cp /usr/local/bin/node /usr/bin/ && cp /usr/local/bin/npm /usr/bin/
RUN wget https://nodejs.org/dist/v0.12.7/node-v0.12.7-linux-x64.tar.gz
RUN cd /usr/local && sudo tar --strip-components 1 -xzf /home/wipro/node-v0.12.7-linux-x64.tar.gz
RUN npm install forever -g

#CI SERVICE
ADD prod /home/wipro/
ADD servicestart.sh /home/wipro/
RUN chmod +x /home/wipro/servicestart.sh
COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf
CMD ["sh", "/home/wipro/servicestart.sh"]

EXPOSE 80
EXPOSE 27017
在dockerfile中,我试图将prod和servicestart.sh添加到image中。在linux中,这是可能的。我不熟悉windows。如何从Windows将这些文件添加到图像中

在构建作业时,docker插件面临问题

FATAL: uri was not specified java.lang.NullPointerException: uri was not specified
at com.google.common.base.Preconditions.checkNotNull(Preconditions.java:204)    
at com.github.dockerjava.core.DockerClientConfig$DockerClientConfigBuilder.withUri(DockerClientConfig.java:406)     
at org.jenkinsci.plugins.dockerbuildstep.DockerBuilder$DescriptorImpl.createDockerClient(DockerBuilder.java:120)    
at org.jenkinsci.plugins.dockerbuildstep.DockerBuilder$DescriptorImpl.getDockerClient(DockerBuilder.java:204)   
at org.jenkinsci.plugins.dockerbuildstep.DockerBuilder.perform(DockerBuilder.java:68)   
at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:19)    
at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:814)    at hudson.model.Build$BuildExecution.build(Build.java:199)  
at hudson.model.Build$BuildExecution.doRun(Build.java:160)  
at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:593)    
at hudson.model.Run.execute(Run.java:1567)  
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)  
at hudson.model.ResourceController.execute(ResourceController.java:88)  
at hudson.model.Executor.run(Executor.java:237)

需要指定什么URI?

您需要确保这些文件是:

  • 在与Dockerfile相同的文件夹中,为了成为Dockerfile的一部分
  • 在以
    c:\Users\
    开头的文件夹中,因为只有该文件夹装载在基于VM boot2docker TiynyCore的Linux主机中
确认使用,以及URI

docker daemon -D -H tcp://127.0.0.1:2376

我们需要在windows中安装docker吗。生成时,由于JenkinsError消息中未指定docker服务器URL,Im收到错误消息:致命:未指定urispecified@user2439278如果您的从属服务器在Windows上执行docker命令,则需要安装docker计算机(只需从一个exe进行复制),任何docker命令都需要执行docker machine env返回的命令。docker toolkit和docker machine安装在我的Windows中。现在如何继续?@user2439278忘记tookit,只需docker-machine.exe就足够了:
docker machine create
然后执行
docker machine env