我正在使用docker安装hadoop-0.20.2。 我有两个文件一个用于Java安装,另一个用于hadoop安装。 我正在使用CMD命令启动服务 cmd ["path/to/start-all.sh"] 现在,我想写第三个dockerfile执行一个示例Map-Reduce作业。 但问题是 第三个docker文件依赖于第二个hadoop-docker文件。 例如: FROM sec_doc_file RUN /bin/hadoop fs -mkdir input 它需要hadoop服务。 但hadoop服务只有在运行第二个docker文件后才能启动。 但是我想在启动MR作业之前将它作为第三个docker文件的一部分运行? 可能吗? 如果是这样,请举个例子。 如果不是,其他的可能性是什么? #something like From sec_doc_file #Start_Service RUN /bin/hadoop fs -mkdir input #continue_map_reduce_job
任何人都可以指导我如何创build和编辑boot2docker中的Dockerfile来创build自己的图像? 我不确定在Boot2Docker shell中使用哪些命令来编辑Dockerfile。
我正在关注cloudera cdh4安装指南。 我的基本文件 FROM ubuntu:precise RUN apt-get update -y #RUN apt-get install -y curl RUN apt-get install -y software-properties-common python-software-properties RUN add-apt-repository ppa:webupd8team/java RUN apt-get update -y RUN echo debconf shared/accepted-oracle-license-v1-1 select true | \ debconf-set-selections RUN apt-get install -y oracle-java7-installer #Checking java version RUN java -version 我的hadoop安装文件 java_ubuntu是从我的基本文件构build的图像。 FROM java_ubuntu:latest RUN apt-get update -y […]
我正在使用Docker来运行一个Maven构build,但是它会在一段时间后停止下载一些JAR文件。 它会在一段时间后停止下载jar子。 而且每次运行都会停止在不同的JAR上! 构build在eclipse和我的本地机器上工作,但不在Docker上。 我正在使用此图片: https : //hub.docker.com/_/maven/
我正在寻找docker- daemon日志,这是docker客户端和docker 守护进程之间显示信息的日志。 根据这个答案: Docker守护进程日志在哪里? 该日志应该是在/var/log/docker.log boot2docker(我在Windows上运行docker)。 但是,boot2docker已被弃用,并由docker docker-machine取代。 无论如何,我没有上面列出的目录或日志文件。 我甚至没有/ var目录。 在指定path中创build一个上述日志文件之后,守护程序甚至不写入docker.log文件。 有任何想法吗?
我想创buildDockerfile,它将能够build立三个不同的图像(目前一个)。 这些图像仅在configuration文件中有所不同。 我正在尝试: 创build三个不同的docker文件(不起作用,因为docker文件需要命名为Dockerfile,并在上下文根 find一个方法将parameter passing给docker build命令 – 没有find 使用ONBUILD命令 – 我创build了一个主文件和三个特定的复制特定的conf文件到图像中的同一个目录(它不起作用,因为与第一点相同的原因) 从stdin传递docker文件 – 它不工作,因为没有上下文然后(所以我不能使用ADD / COPY命令) 我必须说,我已经没有想法了:/你如何处理这种情况。 我认为这应该是一个普遍的问题。
所以我写了一个项目的Dockerfile,我已经定义了一个CMD运行在启动容器来引导应用程序。 Dockerfile看起来像 # create our mount folders and volumes ENV MOUNTED_VOLUME_DIR=sites RUN mkdir /$MOUNTED_VOLUME_DIR ENV PATH=$MOUNTED_VOLUME_DIR/sbin:$MOUNTED_VOLUME_DIR/common/bin:$PATH RUN chown -Rf www-data:www-data /$MOUNTED_VOLUME_DIR # Mount folders VOLUME ["/$MOUNTED_VOLUME_DIR/"] # Expose Ports EXPOSE 443 # add our environment variables to the server ADD ./env /env # Add entry point script ADD ./start.sh /usr/bin/startContainer RUN chmod 755 /usr/bin/startContainer # […]
我正在尝试运行在docker容器内用golang编写的服务器。 例如: package main import "net/http" func main() { http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { w.Write([]byte("Hello")) }) http.ListenAndServe(":3000", nil) } 如果我在本地机器上运行这个代码,我可以用Ctrl-C发送一个SIGINT ,它将closures应用程序。 当我在Docker容器中运行它时,我似乎无法用Ctrl-C来杀死它。 # Dockerfile FROM ubuntu:14.04 RUN apt-get update && apt-get -y upgrade RUN apt-get install -y golang ENV GOPATH /go COPY . /go/src/github.com/ehaydenr/simple_server RUN cd /go/src/github.com/ehaydenr/simple_server && go install CMD /go/bin/simple_server 然后我开始使用docker发送信号给容器。 docker […]
我正在尝试使用Module ngx_http_auth_request_module构build用于安装nginx的nginx映像。 这是我目前的docker文件: #ubuntu OS FROM ubuntu:14.04 #update apt-get non interactive and install nginx RUN \ sudo apt-get -q -y update; \ sudo apt-get -q -y install nginx #copy all mapping configurations for all environments COPY ./resources/routing-configs/* /routing-configs/ #expose port for nginx EXPOSE 80 #run task to copy only relevant mapping configuration to nginx and […]
所以即时通讯试图拉从docker的新鲜的存储库,这似乎是很容易,但我不能。 我看到这个(检查图像) 但即时通讯“未find存储库”,这是即时通讯运行。 bash-3.2$ docker pull ethaan/test Pulling repository ethaan/test Repository not found bash-3.2$ 也即时尝试与Kitematic,但它有点相同,这里是从kitmatic som ss。 首先是“我的回购视图” 现在,当我点击“创build”,我得到了这个错误。 UPDATE 更新Start Repository电子邮件图像 从docker中心企业更新视图