Tag: dockerfile

Dockerfile ARG和ENV中的shellexpression式的默认值

我想接收版本号作为单个参数,并在Dockerfile中的RUN脚本中提取URL中各个位置的主要/次要编号。 ARG CUDA_VERSION ARG CUDNN_VERSION ENV CUDA_FULL="${CUDA_VERSION:-8.0.61_375.26}" \ CUDA_MAJOR="$(echo ${CUDA_VERSION:-8.0.61_375.26} | cut -d. -f1)" \ CUDA_MINOR="$(echo ${CUDA_VERSION:-8.0.61_375.26} | cut -d. -f2)" \ CUDA_MAJMIN="$CUDA_MAJOR.$CUDA_MINOR" ENV CUDNN_FULL="${CUDNN_VERSION:-7.0.1}" \ CUDNN_MAJOR="$(echo ${CUDNN_VERSION:-7.0.1} | cut -d. -f1)" \ CUDNN_MINOR="$(echo ${CUDNN_VERSION:-7.0.1} | cut -d. -f2)" \ CUDNN_MAJMIN="$CUDNN_MAJOR.$CUDNN_MINOR" RUN curl -LO https://…/${CUDNN_FULL}/…/…${CUDA_MAJMIN}… 如果我尝试了上面的内容,shellexpression式不会被评估,只是在后来的RUN脚本中被粘贴。 有没有更好的方法来实现这一点,而不创build一个外部的shell脚本包装这个Dockerfile?

理解Dockerfile和docker run之间ENTRYPOINT / CMD的顺序差异

Docker noob在这里… 我试图从一个Dockerfile构build和运行一个IBM DataPower容器,但它看起来没有像运行docker run并在terminal中传递相同的参数那样工作。 这工作( docker run ) docker run -it \ -v $PWD/config:/drouter/config \ -e DATAPOWER_ACCEPT_LICENSE=true \ -e DATAPOWER_INTERACTIVE=true \ -e DATAPOWER_WORKER_THREADS=4 \ -p 9090:9090 \ –name mydatapower \ ibmcom/datapower …关键部分在于它挂载./config文件夹,自定义configuration由在容器中运行的datapower获取。 这不( Dockerfile ) Dockerfile: FROM ibmcom/datapower ENV DATAPOWER_ACCEPT_LICENSE=true ENV DATAPOWER_INTERACTIVE=true ENV DATAPOWER_WORKER_THREADS=4 EXPOSE 9090 COPY config/auto-startup.cfg /drouter/config/auto-startup.cfg build立: docker build -t local/datapower […]

Jenkins的Dockerfile

我在Docker和Jenkins中是全新的,我想试着问你,也许你能帮助我。 我想创build一个所有必要的Jenkins部件的Dockerfile,以便能够创build一个自动化的任务来检出github。 所以首先我在github上find了公共dockerfile( https://github.com/jenkinsci/docker/blob/master/Dockerfile ),但是它包含了很多参数,我不确定是否必须使用整个Dockerfile。 首先,你可以给我一个build议,如何修改dockerfile? 或者build议使用原始的Dockerfile(URL是上面的)? 谢谢你的build议,伙计们,祝你有美好的一天。

Docker:不读文件

我正在构build一个简单的应用程序: Dockerfile , app.py和requirements.txt 。 当Dockerfile生成时,我得到错误:“没有这样的文件或目录”。 但是,当我更改添加到复制在Dockerfile它的作品。 你知道这是为什么吗? 我正在使用教程: https : //docs.docker.com/get-started/part2/#define-a-container-with-a-dockerfile App.py from flask import Flask from redis import Redis, RedisError import os import socket # Connect to Redis redis = Redis(host="redis", db=0, socket_connect_timeout=2, socket_timeout=2) app = Flask(__name__) @app.route("/") def hello(): try: visits = redis.incr("counter") except RedisError: visits = "<i>cannot connect to Redis, counter […]

基本图像导致通过Jenkinepipe道在我的泊坞窗文件caching半身像

我在随机时间观察caching半身像时,由于我的基本Python图像,当我通过生产服务器上的Jenkins构build,而不是在本地机器上,这有点奇怪。 这种破坏发生在随机的时间,并不总是。 我还没有find一个模式。 docker文件的前几个命令: FROM python:2.7 RUN mkdir -p /usr/src/app WORKDIR /usr/src/app 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 生成过程(内部版本号:74)的日志没有caching破坏: 17:11:02 [workspace] Running shell script 17:11:02 + docker build -t ourapi:0.5.3 . 17:11:02 Sending build context […]

dockerfile安装去本地包可以吗?

我正在尝试用我的golang项目创build一个docker镜像。 该项目有一些像math一样的本地包: /myproject/ src/ main.go utils/ math.go 在main.go中,我包含了大量的包,但也包括math.go的 math 。 我的docker文件看起来像这样: FROM golang:latest ENV GOPATH=/golib/ RUN /usr/local/go/bin/go get github.com/julienschmidt/httprouter CMD /usr/local/go/bin/go run main.go EXPOSE 10004 我如何包括math包,因为它是一个本地包,所以它不在github上部署? yml文件: services: cozonac: image: cozonac:local ports: – "10004:10004" volumes: – ./src/:/go/ 谢谢

如何预先configuration和预填充官方的MySQLdocker集装箱?

我想build立一个基于MySQL官方Docker容器镜像的新的MySQL镜像。 我想减less运行图像时需要添加的参数数量。 (例如, -e MYSQL_USER , -e MYSQL_DATABASE ,甚至-e MYSQL_ROOT_PASSWORD='rootsecret' )已经包含我的全局variables设置和我的创build数据库SQL文件在docker-entrypoint-initdb.d文件夹中。 如何添加我所有的设置,并创build一个新的图像,以简单的docker run mysql:config1 docker run mysql:config2等?

为什么Docker容器的图片变得如此庞大,同时在UBUNTU 16.04上倚靠python3.6,Virtualenv,Flask,Gunicorn

在virtualenv python3 -m venv FLSK-ENV中部署烧瓶应用程序 Dockerfile: FROM appcontainers/ubuntu:xenial MAINTAINER user <user> RUN apt-get install -y software-properties-common \ && add-apt-repository ppa:jonathonf/python-3.6 -y \ && apt-get update -y \ && apt-get install -y python3.6-minimal python3.6-venv \ && apt-get install -y git \ && apt-get install python-pip -y \ && pip install –upgrade pip \ && pip install […]

Dockerizing Node.js应用程序

当试图dockerize节点的应用程序,当我访问本地主机:8000我得到这个错误: 连接被重置 – 连接到服务器被重置,而页面加载。 在terminal上,当我在图像上使用运行命令时,我在控制台中得到所需的输出。 它说: 运行在http:// localhost:8000 / Dockerfile: FROM node RUN mkdir -p /app/ WORKDIR /app COPY package.json /app RUN cd /app RUN npm install COPY . /app CMD ["node", "index.js"] EXPOSE 8000 index.js: #!/usr/bin/env nodejs var http = require('http'); http.createServer(function(req, res) { res.writeHead(200, { 'Content-Type': 'text/plain' }); res.end('Hello World\n'); }).listen(8000, 'localhost'); console.log('Server […]

在Docker构build期间,curl不起作用

我正在写一个基于wildfly图像的Dockerfile。 我已经隔离了这些线,我有一些头痛。 curl命令在构build过程中不起作用。 我已经卸载并再次安装Docker,但错误仍然存​​在。 我的系统是Linux Mint。 另外,我试图在RHEL中构build相同的Dockerfile,它的function就像一个魅力。 这里是Dockerfile: FROM jboss/wildfly RUN cd $HOME \ && curl -O "http://central.maven.org/maven2/mysql/mysql-connector-java/5.1.44/mysql-connector-java-5.1.44.jar" 这是错误输出: Sending build context to Docker daemon 1.03MB Step 1/6 : FROM jboss/wildfly —> b695bdcce374 Step 2/6 : RUN cd $HOME && curl -O "http://central.maven.org/maven2/mysql/mysql-connector-java/5.1.44/mysql-connector-java-5.1.44.jar" —> Running in 4fdcef7dbda1 % Total % Received % Xferd Average Speed […]