Tag: 文件

在构build时删除/ bin / busybox

由于诸如强化Docker镜像的原因,我希望本地用户无法使用wget 。 由于wget是/bin/busybox一个function,删除似乎是合适的,即使有点激烈,并且显然会在运行时工作。 然而, RUN rm /bin/busybox会在Kubernetes之上运行或在本地运行时导致堆栈跟踪。 有没有build立时间的解决scheme? 这个例子就是 FROM haproxy:1.6-alpine RUN addgroup -S haproxy && adduser -S -g haproxy haproxy RUN rm /bin/busybox COPY haproxy.cfg /usr/local/etc/haproxy/haproxy.cfg 使用HAProxy的默认ENTRYPOINT #!/bin/sh set -e # first arg is `-f` or `–some-option` if [ "${1#-}" != "$1" ]; then set — haproxy "$@" fi if [ "$1" = 'haproxy' […]

用Dockerfile构build镜像 – 未知的指令

我正在学习本教程: https : //docs.docker.com/engine/tutorials/dockerimages/#building-an-image-from-a-dockerfile 现在我正在启动命令: docker build -t ouruser/sinatra:v2 . 这是输出: 我已经使用$null > filename命令创build了Dockerfile,然后用记事本插入了本教程中build议的代码。 我错过了什么吗? Dockerfile 这是教程中的ctrl + c和ctrl + v。

如何将parameter passing给docker容器,并通过传递参数更新容器中的文件

我是新来的docker工人,试图通过本地主机名($主机名)到docker集装箱,并更改新的$Hostname在容器中的configuration文件条目。 我在dockerfile中添加了一个命令如下: RUN echo $Hostname >> /etc/***.config 并从图像运行docker run -e $Hosname='cat /etc/hostname' … 但是,容器中的$Hostname是容器的主机名,而不是本地主机的名称。 谁能帮我这个? 非常感谢!

如何构build用于生产的卷的docker图像

感谢Docker for Mac,现在可以在Docker容器中运行本地开发服务器。 我们只需将本地存储库作为卷装入容器即可。 如果我们在本地进行更改,它会自动更新容器(感谢您的体积),我们不必重新启动服务器。 我们无法弄清楚这些图像应该如何为生产而build造。 以这个简单的Node服务为例: FROM node:6 # Install the dependencies outside of the application's volume directory ADD package.json .npmrc /node/ RUN npm install –prefix /node # Set up the correct paths for the new node modules installation ENV NODE_PATH /node/node_modules:$NODE_PATH ENV PATH $PATH:/node/node_modules/.bin # Create an endpoint to mount the service's repository […]

复制文件并在容器启动时从Docker上的共享卷创build符号链接

我有一个容器在运行时装入一个共享卷,我需要从卷的装入位置拷贝一些文件到另一个文件,然后创build一个符号链接。 我尝试了几种方法,最后我使用了主pipe。 所以我创build了我简单的bash脚本,其中cp和ln所需要的从哪里容器被安装在docker容器到我的最终目的docker容器内。 但是主pipe失败了。 这是我的主pipeconf文件: [supervisord] nodaemon=true [program:nonversioned] command=/deploy.sh numprocs=1 autostart=true autorestart=true exitcodes=1 这是我的deploy.sh的一个例子 #!/usr/bin/env bash # Copy config files cp -f /efs/deploys/wp-config.php /var/www/html # Softlink to uploads ln -s /efs/deploys/uploads /var/www/html/assets/uploads 在我的Dockerfile中也尝试了几个启动supervisor的东西。 最后我试着用: CMD ["supervisord -n"] 但是它说supervisord不在路上 我正在开始我的容器: docker run -d -v /home/user/my_efs:/efs \ mytest/testing

尝试执行easy_install或泊坞窗生成点说没有find命令

我正在尝试build立一个基于amazonlinux的docker容器,它是一些centos。 我需要的一个软件包是主pipe,它在官方仓库上不可用,所以我必须用easy_install或pip来完成。 问题是,虽然我尝试安装python-setuptools和python-pip,然后当我尝试做: RUN easy_install supervisor 要么 RUN pip install supervisor 它说这个命令不存在 /bin/sh: easy_install: command not found The command '/bin/sh -c easy_install supervisor' returned a non-zero code: 127 我尝试了完整的path,但是结果相同,而且我看到其他dockerfiles人像在centos映像上那样做。

开发环境NodeJS和Docker

我创build了下面的Dockerfile ROM node:argon # Create app directory RUN mkdir -p /usr/src/app WORKDIR /usr/src/app # Install app dependencies COPY package.json /usr/src/app/ RUN npm install # Bundle app source COPY . /usr/src/app EXPOSE 8080 CMD [ "npm", "start" ] 当我构build和运行Docker镜像时,一切正常 但是,当我跑步 docker run -p 8080:8080 -v ~/projects/NodeJSExample/:/usr/src/app/ nodeexample 我有 : Error: Cannot find module 'express' at Function.Module._resolveFilename […]

如何创build一个docker基础镜像?

我的本地系统是Ubuntu 14.04。 在这个本地系统中,我安装了包含sles 12的虚拟机。在这个本地虚拟机(sles 12)中,我configuration了一些我用的应用程序。 我对Docker完全陌生。 我想创build一个docker基础镜像,其中包含我的应用程序所在的这个sles 12镜像。 我如何创build这样一个docker镜像,其中sles 12 os可用,并且我的应用程序也可以运行?

我怎样才能将Jenkins这样的应用程序安装到使用chef-recipe的CentOs映像中运行的正在运行的CentOs容器中?

我怎样才能将Jenkins这样的应用程序安装到使用chef-recipe的CentOs映像中运行的正在运行的CentOs容器中? docker_service 'default' do action [:create, :start] end # Pull latest image docker_image node['chef-docker']['docker-platform'] do tag 'latest' action :pull end # Run container docker_container node['chef-docker']['container-name'] do repo node['chef-docker']['container-repo'] command '/bin/bash' port '80:80' tty true action :run end docker_exec 'touch_it' do container 'First' command [***????????***] end

如何正确地删除以前提交的图像,以便从头开始构build

经过一番尝试和玩,我有一个Node.JS项目,我想打包。 这是我的dockerfile: FROM node:latest MAINTAINER me <ma@me.me> COPY ./backend-codebase /app RUN /bin/bash -c 'cd /app; npm install' EXPOSE 80 ENV NODE_ENV=production CMD [ "sh", "-c", "cd /app; npm run start" ] 在构build之前,我删除了之前我已经完成的所有图像: docker rmi $(docker images -q) -f 一切都build立和运作,但是当我推动它时,我意识到尺寸对于我的小应用来说太大了。 所以我试图深入了解它: Matteos-MBP-2: matteo$ docker history 98e2a25bffe7 IMAGE CREATED CREATED BY SIZE COMMENT 98e2a25bffe7 28 seconds ago […]