Tag: dockerfile

Docker环境variables在多阶段构build中

给这个.env文件: TEST=33333 给这个docker-compose.yml文件: service_name: image: test env_file: .env environment: TEST: 22222 给这个Dockerfile文件: FROM an_image AS builder FROM another_image ENV TEST 11111 CMD ["/bin/echo $TEST"] 每当我在一个容器中构build并运行这个图像,它就会打印11111 。 如果我从Dockerfile中删除ENV 11111行,我的TEST环境variables是空的… 父图像是否接收环境variables而不是子图像? 谢谢! 编辑: 尝试ENV TEST ${TEST}没有工作($ TEST是空的) 删除ENV TEST没有工作($ TEST是空的)

Docker无法在Rails bundle上安装rake

我使用Docker for Windows来运行Rails(v5)应用程序的Image。 当我做docker构build我得到这个错误。 我不知道在哪里寻找debugging和/或解决这个问题。 这里是我的DockerFile:从ruby:2.3.3-slim RUN apt-get update && apt-get install -y build-essential RUN apt-get install -y libmysqlclient-dev RUN apt-get install -y mysql-client RUN apt-get install -y libmagickwand-dev imagemagick RUN apt-get install -y curl RUN curl -sL https://deb.nodesource.com/setup_6.x | bash – RUN apt-get install -y nodejs RUN apt-get install -y git #RUN npm install […]

使用Dockerfile构buildDocker镜像时出错

我正在尝试在Dockerfile使用configuration来构buildDockerfile : FROM ubuntu MAINTAINER axiom88guru(axiom88guru@gmail.com) Configuration for app below. Run upgrades RUN apt-get update Install basic packages RUN apt-get update -qq && apt-get install -y build-essential libpq-dev nodejs Install Ruby RUN apt-get -qq -y install ruby-full RUN gem install bundler –no-ri –no-rdoc RUN gem install foreman Install rails-new-docker WORKDIR /app RUN git clone https://github.com/axiom88-guru/rails-docker.git […]

docker的Python脚本不能正确执行

当我运行我的容器时,我试图用“/ usr / bin / python”从根目录(“/”)运行“docker.py”。 我已经检查了源图像以确保python二进制文件存在,我已经将docker.py上传到了docker镜像,并成功运行了该二进制文件。 但是,当我尝试创build图像,然后运行图像时,出现此错误(“EOFError:EOF阅读一行时”),我不知道这意味着什么或从哪里开始。 任何帮助表示赞赏。 提前致谢! 猫docker.py #!/usr/bin/python my_name = raw_input("Enter your name: ") print my_name quit() 猫Dockerfile FROM python:2.7 ADD docker.py /docker.py CMD ["/usr/bin/python", "/docker.py"] dockerbuild设。 Sending build context to Docker daemon 175.8MB Step 1/3 : FROM python:2.7 —> b1d5c2d7dda8 Step 2/3 : ADD docker.py /docker.py —> f55a19158773 Step 3/3 […]

将环境variables传递给dockerfile构build

我正在尝试在Docker容器中创build一个由Web服务器和数据库组成的服务。 目前我正在尝试为它们包含数据库凭证创build相同的环境文件。 不幸的是,当我尝试用它build立数据库时,事实certificate它们是空的。 我如何使用单个环境文件为这两个组件创build一个项目? 这是我的docker-compose.yml: version: '2' services: db: build: context: . dockerfile: Dockerfile-db ports: – '5433:5432' env_file: – env web: build: . ports: – '8000:8000' command: venv/bin/python manage.py runserver 0.0.0.0:8000 depends_on: – db env_file: – env 这是我负责创build数据库的Dockerfile-db文件的一部分: FROM ubuntu:16.04 RUN apt-get update && apt-get install -y postgresql-9.5-postgis-2.2 USER postgres ARG DB_PASSWORD ARG DB_NAME RUN […]

具有发布的端口的Docker容器不能从外部访问

我的Docker容器在端口3000上运行Rails,并将端口发布到端口8900 。 看到: $ docker-compose ps Name Command State Ports rails_poc_1 /bin/sh -c puma -C config/ … Up 0.0.0.0:3000->8900/tcp 但是,当访问http://localhost:8900我的浏览器显示ERR_CONNECTION_REFUSED 。 当从容器内使用docker exec 8fcceed1d477 curl localhost:3000 curl端口3000 ,我得到一个有效的响应,certificateRails工作正常。 我可以俯视吗?

在Docker构build过程中似乎完美安装的程序不在运行容器中

我有一个dockerfile似乎成功安装各种程序。 在这里,例如,我安装了sfdx-cli: RUN wget -O – https://developer.salesforce.com/media/salesforce-cli/sfdx-linux-amd64.tar.xz | tar Jxv && sfdx/install && rm -rf sfdx 我知道这是成功的,因为后续的行会导致它自行更新。 这里是另一个例子,我安装apt-transport-https: RUN apt-get install -y apt-transport-https 我知道这是有效的,因为下一行安装依赖apt-transport-https的heroku: RUN apt-get update && apt-get install -y heroku 但是,当我运行一个基于这个映像的容器时,sfdx-cli和apt-transport-https都不存在。 我使用“查找/”命令进行search,无法find它们,更不用说在他们预期的位置。 一般情况下容器运行良好,有许多项目在场和工作。 例如,“heroku”命令工作正常。 我显然错过了docker工作的基本方式,但是我在网上找不到任何关于这个的东西。 以下是当前的Dockerfile: https ://gist.github.com/alexed1/ad4917f53bed34318e1aa2801a82e911 这是我的构build命令: docker build . -t alexed1:dev5 这是我的运行命令: docker run -it -v /Users/aedelstein/Dropbox/dev:/home/alexed/dev \ -p 8000:8000 […]

是否有可能在Docker容器中使用cloud-init和heat-cfntools?

我想使用OpenStack Heat来创build一个由多个Docker容器组成的应用程序,并监视这些容器的一些指标,如:CPU / Mem利用率以及其他特定于应用程序的指标。 那么,在通过Dockerfile准备Docker镜像时,可以安装cloud-init和heat-cfntools,然后根据运行cloud-init和heat-cfntools的镜像运行一个Docker容器? 谢谢!

容器监视默认情况下不启用

我们希望监控docker容器度量参数,如CPU,networking,内存等,我们正在关注https://docs.docker.com/articles/runmetrics/ ,发现监控指标默认情况下是不启用的。 cat /proc/cgroups #subsys_name hierarchy num_cgroups enabled cpuset 1 7 1 cpu 2 7 1 cpuacct 3 7 1 memory 4 7 1 devices 5 7 1 根据文档,我们必须通过设置内核参数来启用监视。 内存指标:memory.stat 内存指标可以在“内存”cgroup中find。 请注意,内存控制组添加了一些开销,因为它对主机上的内存使用情况进行了非常细致的计算。 因此,很多发行版都默认不启用它。 一般来说,要启用它,你所要做的就是添加一些内核命令行参数:cgroup_enable = memory swapaccount = 1 任何人都知道如何在Docker容器(Dockerfile或docker-compose.yml)中设置内核参数。 提前致谢。

无法构build任何Dockerfile

我对我的问题尝试了不同的答案,但似乎没有任何工作。 当我试图build立任何docker文件时,我最终有相同的错误信息: E: Unable to locate package htop INFO[0000] The command [/bin/sh -c apt-get install -y htop] returned a >non-zero code: 100 这是Dockerfile: FROM debian:latest MAINTAINER <my_email> RUN apt-get update RUN apt-get install -y htop RUN apt-get clean 我运行的命令是: sudo docker build -t demo . 我也尝试不同的包,但都有相同的错误。 我得到的是: Sending build context to Docker daemon 3.649 MB […]