在Dockerfile中添加windows文件夹
我已经为nodejs和mongodb安装了dockerfile。我安装了docker插件并在其中创建了一个作业。现在,我需要从Dockerfile构建映像。我必须在Dockerfile中应用copy命令,才能将nodejs应用程序复制到容器中在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
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的一部分
- 在以
开头的文件夹中,因为只有该文件夹装载在基于VM boot2docker TiynyCore的Linux主机中c:\Users\
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