Tag: dockerfile

错误:在文件“./docker-compose.yml”中,卷必须是映射,而不是数组

我得到这个错误(错误:在文件'./docker-compose.yml',卷必须是一个映射,而不是一个数组),当我运行“docker – 组成”命令。 我的docker-compose.yml文件看起来像这样。 version: '2' web: build: . ports: – "5000:5000" volumes: – .:/code ngnix: image: "ngnix:alpine" 和我的docker文件看起来像这样 FROM alpine:3.5 MAINTAINER NGINX Docker Maintainers "docker-maint@nginx.com" ENV NGINX_VERSION 1.13.3 RUN GPG_KEYS=B0F4253373F8F6F510D42178520A9993A1C052F8 \ && CONFIG="\ –prefix=/etc/nginx \ –sbin-path=/usr/sbin/nginx \ –modules-path=/usr/lib/nginx/modules \ –conf-path=/etc/nginx/nginx.conf \ –error-log-path=/var/log/nginx/error.log \ –http-log-path=/var/log/nginx/access.log \ –pid-path=/var/run/nginx.pid \ –lock-path=/var/run/nginx.lock \ –http-client-body-temp-path=/var/cache/nginx/client_temp \ –http-proxy-temp-path=/var/cache/nginx/proxy_temp \ –http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp […]

docker-compose中的Python与具有相同图像的独立容器之间的差异

在我的项目中,我有一个基于ubuntu的dockerized微服务:我想从标准apt-get 2.7.6版本更新到python 2.7.13。 这样做,我遇到了一些模块导入问题。 从那时起,我已经添加到我的pythonpath python2.7/dist-packages的开头,它包含了我所关心的所有模块。 我使用docker-compose build我的微服务映像,但问题是:当我运行docker-compose up ,这个微服务无法导入所有非标准模块,但是当我使用docker run -it image_id /bin/bash创build自己的容器时, docker run -it image_id /bin/bash然后运行一个python shell并导入任何上述模块,一切正常。 甚至当我运行相同的python脚本时,它也会通过所有这些导入语句(但由于没有正确的链接而被隔离运行,所以导致其他问题失败)。 我已经断言python 2.7.13正在docker上运行docker-compose up ,当我运行我自己的容器。 我已经清除了所有的容器,图像和caching,并重build了没有进展。 docker文件末尾运行的命令是CMD python /filename/file.py 。 任何想法可能会导致这种差异? 编辑:根据要求,这里的Dockerfile。 文件结构只是一个包含子文件夹的项目文件夹,每个文件夹都是自己的dockerized微服务。 这里关心的是document_analyzer,下面是docker-compose文件的相关部分。 没有正确安装的文件的例子是PyPDF2,pymongo,boto3。 FROM ubuntu:trusty # Built using PyImageSearch guide: # http://www.pyimagesearch.com/2015/06/22/install-opencv-3-0-and-python-2-7-on-ubuntu/ # Install dependencies RUN \ apt-get -qq update && apt-get -qq […]

在RHEL-.NET Core上,对project.lock.json的访问被拒绝

我刚刚开始使用Red Hat提供的一些说明,在RHEL 7上使用.NET Core和Docker。 我使用dotnet new -t web创build了一个.NET核心MVC应用程序,然后在该文件夹中创build了我的Dockerfile ,其中包含以下内容: FROM registry.access.redhat.com/dotnet/dotnetcore-11-rhel7 ADD . /opt/app-root/src/ WORKDIR /opt/app-root/src/ EXPOSE 5000 RUN ["/bin/bash", "-c", "/opt/rh/rh-dotnetcore11/root/usr/bin/dotnet restore"] RUN ["/bin/bash", "-c", "/opt/rh/rh-dotnetcore11/root/usr/bin/dotnet build"] CMD ["/bin/bash", "-c", "/opt/rh/rh-dotnetcore11/root/usr/bin/dotnet run"] 然后我尝试通过运行来构buildDocker镜像 docker build -t mvc_docker 其中mvc_docker既是我在运行docker build命令时所在文件夹的名称,也是我正在尝试创build的映像的名称。 在dotnet restore过程中一切看起来不错,但是我在控制台中得到这个错误: 错误:访问path“/opt/app-root/src/project.lock.json”被拒绝。 目前在我的RHEL虚拟机/opt目录中没有app-root目录 – 是否需要手动创build一个,还是期望Docker在Dockerfile指定的目标目录path中创build任何目录? 更新:所以我手动创build/opt/app-root/srcpath,但仍然得到相同的错误,并且当我ls -la在src文件夹中没有文件。 我的Dockerfile内容不正确? 我可以从我的项目文件夹中的bash提示运行dotnet restore ,它成功完成,但也说 锁文件没有改变。 跳过locking文件写入。 但是,这是在我的项目文件夹中的locking文件,而不是在/opt目标文件夹中的任何文件。

在dockerfiles中将哪个Pythonvariables用作基础映像?

我在dockerfile中使用Python_onbuild作为基础镜像,如下所示。 但是,每当我在源文件中进行更改时,都会导致我的命令重复失效。 FROM python:2.7.13-onbuild RUN mkdir -p /usr/src/app WORKDIR /usr/src/app RUN echo "Test Cache" ARG DEBIAN_FRONTEND=noninteractive RUN apt-get update && apt-get install –assume-yes apt-utils RUN apt-get update && apt-get install -y curl RUN apt-get update && apt-get install -y unzip RUN curl -o – url 构build日志: Sending build context to Docker daemon 239.1kB Step 1/6 […]

我可以使用DockerFile作为脚本吗?

我们想在DockerHub上利用DockerFiles的优秀目录,但团队不能使用Docker。 是否有任何方式来运行DockerFile,就好像它是一个机器的shell脚本? 例如,如果我select对运行Debian Jessie的服务器运行Docker容器ruby:2.4.1-jessie ,我希望它忽略FROM指令,但是能够从ENV设置环境并运行RUN命令从这个Dockerfile: Github docker -library / ruby​​:2.4.1-jessie

使用Docker设置多个Ubuntu容器

需求: 基于Ubuntu 14.04的docker实例的设置,其中1个实例的行为像一个网关,用于所有其他networking通信。 为这样的设置创build一个泊坞窗撰写文件… 所有这些情况都需要在他们自己的专用dockernetworking和默认docker桥接器上进行。 创build了一个Dockerfile FROM ubuntu:14.04 # Set environment variables. ENV HOME /root # Define working directory. WORKDIR /root # Define default command. CMD ["/bin/bash"] 泊坞窗,compose.yml version: '3' services: main: image: testenginer_main tty: true first: image: testenginer_main tty: true 其中testenginer_main是我使用Dockerfile设置生成的图像文件 我检查了这两个实例正在运行 问题是我想有2个networking1连接到docker的默认桥接networking和第二个连接到其他容器,使其他容器可以通过networking1访问主networking

如何快速将maven项目整合到docker中

我有一个maven项目,其项目结构如下: parentProject: parentProject: APorject.war BProject.war parentApiProject: AProjectApi.jar BProjectApi.jar 我想同时打包这个项目,下面的四个项目被复制到四个docker中,并且会跑起来。 有什么好的想法和技术解决scheme吗?

运行在docker中导入本地脚本的python脚本

我有一个本地脚本main.py导入另一个本地脚本submain.py 。 当我在docker中运行它时,出现以下错误: qsub -cwd -soft -l docker,docker_images="*docker_imagename*" -S /usr/bin/python ./main.py –arg1 value1 –arg2 value2 from submain import func ImportError: No module named submain 我的Dockerfile看起来像这样: FROM ubuntu:latest RUN apt-get -y update && apt-get -y install build-essential libxml2-dev zlib1g-dev python-dev python-pip pkg-config libffi-dev libcairo-dev RUN pip install –upgrade pip RUN pip install python-igraph scikit-learn numpy scipy […]

如何使用docker-compose在Docker镜像和入口点之间运行命令?

docker工作者撰写v3 我试图运行一些特定于应用程序的命令,比如每当我运行docker docker-compose up时使用composer update ,让我的docker-compose.yml文件看起来像这样 version: '3' services: app1: image: laraedit/laraedit ports: – 3000:80 volumes: – ./appfolder:/var/www/appfolder 如果我在入口点运行我的第一次运行命令,它将覆盖默认laraedit / laraedit运行的所有命令。 (至less我这样认为,因为当我的入口点命令完成时容器总是停止) 我不想打扰laraedit / laraedit的启动过程,我只是想执行一些命令。 如果我不使用docker-compose,那么我将在本地使用laraedit / laraedit Dockerfile,然后我可以编辑它并在其中添加一个RUN语句。 但是由于我没有Dockerfile,并且我不能在没有closures容器的正常启动的情况下创build一个入口点,我不知道如何去执行每一次运行docker-compose up 。 我试过的东西: 添加我自己的Dockerfile (replacelaraedit的) 运行入口点脚本 (阻止laraedit的启动) 将它们作为命令运行(命令没有执行)

Dockerfile拆分

我的python文件夹结构如下 |_ _ helper |_ _ Action1 |_ _ Action2 Action1 and Action2 use helper package . 我想要做如下分割的dockerfile Docker file Base -> which contains common packages like pika which are necessary to build Action1 and Action2 Individual docker file images -> Individual docker file for Action1 and Action2 modules. 由于我无法在Action1和Action2中执行cd ..因为每当构builddockerfile时,都会将docker上下文发送到守护程序。 请build议如何继续上述