Tag: 文件

从docker run传递参数到dockerfile

下面是我的docker build命令 docker build -t test/magento2:1.0.0 –build-arg BASE_URL=http://www.hostname.net/ –build-arg DATABASE_HOST=localhost –build-arg DATABASE_NAME=magento –build-arg DATABASE_USER=root –build-arg DATABASE_PASSWORD=root –build-arg ADMIN_USERNAME=test –build-arg ADMIN_FIRSTNAME=test –build-arg ADMIN_LASTNAME=Mobi –build-arg ADMIN_EMAIL=support@test.mobi –build-arg ADMIN_PASSWORD=test@123 –build-arg DEFAULT_LANGUAGE=en_US –build-arg DEFAULT_CURRENCY=INR –build-arg DEFAULT_TIMEZONE=Asia/Kolkata –build-arg BACKEND_FRONTNAME=admin . Dockerfile ARG BASE_URL ARG DATABASE_HOST ARG DATABASE_NAME ARG DATABASE_USER ARG DATABASE_PASSWORD ARG ADMIN_USERNAME ARG ADMIN_FIRSTNAME ARG ADMIN_LASTNAME ARG ADMIN_EMAIL ARG […]

Dockerfile:mkdir和COPY命令运行良好,但我看不到目录和文件

我正在使用jenkins图像来创build一个docker容器。 现在我只是想创build一个新的目录并复制一些文件。 图像生成过程运行良好,但是当我启动容器时,我看不到文件和目录。 这是我的dockerfile FROM jenkins:2.46.1 MAINTAINER MandeepSinghGulati USER jenkins RUN mkdir /var/jenkins_home/aws COPY aws/config /var/jenkins_home/aws/ COPY aws/credentials /var/jenkins_home/aws/ 我在这里发现了一个类似的问题,但看起来不同,因为我没有创buildjenkins用户。 它已经存在于主目录/var/jenkins_home/ 。 不知道我在做什么错 这是我如何build立我的形象,并启动容器: ➜ jenkins_test docker build -t "test" . Sending build context to Docker daemon 5.632 kB Step 1/6 : FROM jenkins:2.46.1 —> 04c1dd56a3d8 Step 2/6 : MAINTAINER MandeepSinghGulati —> Using cache —> […]

为我的节点项目的每个服务创builddocker文件是否可行?

我正在学习docker。有人告诉我为节点服务创builddocker镜像的最佳做法是什么。我应该为整个项目创build一个docker镜像还是为每个api实现一个docker镜像。最好的方法是什么?说明。

无法构build泊坞窗图像,“必须是root用户”

我正在通过在容器中安装应用程序(应该是安装的根用户)来创build一个Docker镜像。 # cat Dockerfile FROM ubuntu:16.04 COPY $pwd/intel_virtual_gateway_console64_1_9_0.tar /root/ COPY $pwd/login.exp /root/ WORKDIR /root/ RUN tar -xvf intel_virtual_gateway_console64_1_9_0.tar RUN apt-get update && apt-get install -y expect \ expect-dev \ libxml2-utils RUN whoami RUN expect login.exp Docker镜像的构build过程: root@labadmin-VirtualBox:~/RAGHU/krishna# docker build -t release:4.0 . Sending build context to Docker daemon 633.5MB Step 1/8 : FROM ubuntu:16.04 —> […]

常规的方式来解决docker派生的图像生成时间与图像大小折衷

在编写Dockerfiles时,两个约束常常是重要的:图像大小和图像构build时间。 常见的观察是,时间和空间的使用往往可以相互替代。 然而,通过在开发中快速构build时间和在生产中慢慢构build时避免这种select可能是有用的。 例如,如果我在一个项目中写这样的东西,我可以在frequently_changing_source_code更改源码时更快地重build开发中的图像,因为在衍生图像中有一个可以重复使用的具有build-essential的图层: 基本图像: RUN apt install build-essential python-dev && \ pip install some-pypi-project ADD frequently_changing_source_code 派生图片: FROM base_image RUN pip install another-pypi-project-requiring-build-essential ADD more_stuff 上面的结果是比下一个版本更大的版本,它实现了相同的function,但牺牲了构build时间。 现在每当frequently_changing_source_code发生变化时,重build派生的图像将导致重新安装build-essential : 基本图像: RUN apt install build-essential python-dev && \ pip install some-pypi-project && \ apt remove build-essential python-dev ADD frequently_changing_source_code 派生图片: FROM base_image RUN apt install build-essential […]

如何将数据导入到mongodb容器并创build一个图像

我花了很多时间在一个看似简单的任务上。 我想运行一个monogodb容器。 然后将csv文件复制到容器中,或者执行docker文件中的命令将csv文件导入到mongodb数据库中。 我尝试使用运行,script.sh但没有任何工作。 请帮忙。 我想自动执行任务,当我复制数据时,我将为自动化任务创build一个新的映像。 这里是我有的Dockerfile。 FROM mongo RUN mkdir -p /app/data WORKDIR /app/data COPY gene.csv /app/data COPY script.sh /app/data EXPOSE 27017 # CMD ["/app/data/script.sh"] 脚本文件是 #! /bin/sh mongoimport -d Gene -c genes –type csv –file gene.csv –headerline

Angular 2应用程序部署在AWS上运行的Docker容器中

你好程序员, 对于一个项目,我们创build了一个Angular 2,它将成为我们的GUI。 这个GUI将从Amazon Web Services(AWS)托pipe的后端API获取他的数据。 GUI也应该在AWS上运行,我们将把它作为EC2上的Docker容器运行。 GUI在我的电脑上工作正常,但我不能制作一个探测器的Docker容器,它既不能在我的电脑上也不能在AWS上工作。 你们知道一个很好的教程/ Hello World项目,我可以学习如何在Docker中创build一个Angular 2应用程序吗? 一些更多的信息如何即时尝试这样做: 我的Dockerfile # Create image based off of the official Node 6 image FROM node:6 # Create a directory where our app will be placed RUN mkdir -p /usr/src/app # Change directory so that our commands run inside this new dir WORKDIR /usr/src/app […]

dynamic设置docker容器的JAVA_HOME

我的docker容器需要设置JAVA_HOME。 我已经将它添加到Dockerfile如下 ENV JAVA_HOME /usr/lib/jvm/java-8-openjdk-amd64/jre 但是,这是价值的硬编码。 有没有一种方法可以从图像本身dynamic获取这个值

如何防止每次我修改代码时重新运行pip安装的Docker

我有一个下面的Dockerfile的刮板: # Adapted from trcook/docker-scrapy FROM python:alpine RUN apk –update add libxml2-dev libxslt-dev libffi-dev gcc musl-dev libgcc openssl-dev COPY . /scraper RUN pip install -r /scraper/requirements.txt WORKDIR /scraper/apkmirror_scraper CMD ["scrapy", "crawl", "apkmirror"] scraper的代码位于/scraper/apkmirror_scraper ,以及scraper/requirements.txt 。 我注意到,每次修改代码并构build映像时,都会重新运行pip install -r requirements.txt而不是使用本地caching。 我怎样才能防止这个,并使其使用本地caching? (关于这一点的一个理论是,虽然/scraper /scraper/requirements.txt本身没有改变, /scraper目录有,这使得RUN指令必须'重新运行';在这种情况下,它可能有助于移动requirements.txt到不同的目录,但是我无法从https://docs.docker.com/engine/reference/builder/#runvalidation这个“理论”是否正确)。

docker运行抱怨文件未find

我正在运行以下命令从/ etc / docker构builddocker镜像,并且我想要在容器内复制的所有文件都在同一位置 docker build -t user/testapp . 以下是我的Dockerfile的内容: FROM openjdk:alpine COPY . /usr/src/testapp/ WORKDIR /usr/src/testapp/ CMD TestAppStart 图像生成良好,但运行时,它uwing下面的命令它说:/ bin / sh:/ usr / src / testmq / TestAppStart我也尝试了CMD的绝对path,但同样的错误。 我已经validation了通过将CMD更改为/ bin / sh来复制文件,容器启动后,我得到一个shell,我可以导航到该目录并查看所有文件,甚至可以从那里手动运行TestAppStart。 需要帮忙!