Tag: dockerfile

docker for windows是否支持/ proc和cgroup映射?

我正试图在Windows主机上运行一个容器 , 这个容器需要一些容量映射来构成挑战。 这是每个容器所有者文档的docker run命令: docker run -d –name dd-agent \ -v /var/run/docker.sock:/var/run/docker.sock:ro \ -v /proc/:/host/proc/:ro \ -v /sys/fs/cgroup/:/host/sys/fs/cgroup:ro \ -e API_KEY={your_api_key_here} \ -e SD_BACKEND=docker \ -e NON_LOCAL_TRAFFIC=false \ datadog/docker-dd-agent:latest 令我惊讶的是,docker for windows实际上支持“/var/run/docker.sock”,而这个卷是可以工作的,但其他的则不行。 docker for windows有一些支持“/var/run/docker.sock”的方法(也许它redirect到一个windowspipe道或者其他东西),这让我怀疑是否也支持“host / proc /”和“/ host / SYS / FS / cgroup中” 我如何在Windows主机上执行此操作?

Docker + React App – Docker运行命令不能打开本地主机

我在使用我的React应用程序运行Docker(我是一个初学者)时遇到了麻烦。 这是作为编码的挑战,所以我得到了这些Docker命令: dockerbuild设 – 标签应用程序名称。 docker运行-it -p 7357:80应用程序名称 这是我的dockerfile:FROM节点:6-wheezy WORKDIR /srv/tenor-frontend-test/ COPY package.json package-lock.json ./ RUN npm install COPY . . EXPOSE 80 ENV NODE_JS_PORT=80 CMD [ "npm", "start" ] 我在package.json中启动脚本: "start": "PORT=7357 react-scripts start" 在我的terminal中使用“npm start”会打开本地主机,但是当我运行“docker run”命令时,它会正确打印“npm start”会发生什么情况,但是没有打开浏览器,localhost:7357不起作用。 我希望这只是一个docker文件问题,因为“NPM开始”工作正常? 提前致谢!

HAProxy 1.8 – 在HAProxy软重装期间传递套接字连接

我正在使用kubernetes load-lanacer (这里haproxyconfiguration是每10秒写入一次并重新启动)。 由于我想在重新加载HAProxy时传递套接字连接,所以我更改了HAProxy的Dockerfile,使其使用HAProxy 1.8-dev2版本。 使用的图像是haproxytech / haproxy-ubuntu:1.8-dev2 。 此外,我在template.cfg文件的全局部分下添加了以下行(这是写入HAProxyconfiguration的模板) stats socket /var/run/haproxy/admin.sock模式660级别的pipe理员显示侦听器 此外,我更改haproxy_reload文件中的重新加载命令,如下所示 haproxy -f /etc/haproxy/haproxy.cfg -p /var/run/haproxy.pid -x /var/run/haproxy/admin.sock -sf $(cat /var/run/haproxy.pid) 一旦我运行docker镜像,我得到以下错误(kubectl create -f rc.yaml –namespace load-balancer) W1027 07:13:37.922565 5 service_loadbalancer.go:687]因为错误而重新启动kube-system / kube-dns:错误重新启动haproxy – [警告] 299/071337(21):我们没有得到预期的套接字数(期待1347703880得到0) [警告] 299/071337(21):无法从旧程序中获取套接字! :退出状态1 FYI:我评论了template.cfg文件中的统计套接字行,并运行docker镜像以validation重新启动命令是否标识套接字。 发生同样的错误。 看起来像软重启命令不能识别由HAProxy创build的统计套接字。

Docker使用构build过程中使用的SSH密钥构builddockerfile(用于私人Git仓库)

Docker-Compose v3 我正在努力安装由我的公司制作的简单的GitHub存储库。 我们正在把我们的项目转移到Docker。 所以,我们目前正在使用Docker和Docker-Compose来构build和运行我们的容器。 但是,我们90%的项目使用私人回购,定制gem,我们最终将使用私人容器。 尽pipe通过Habitus将我的SSH密钥移动到容器上,在构build过程中手动复制它们,并试图装入卷,但似乎无法安装我的回购站。 但是我没有做的似乎工作。 例如。 DockerFile FROM ubuntu # Installing tons of libraries. Not all of these might be needed RUN apt-get -y update && apt-get -y upgrade && apt-get -y install nodejs npm ruby curl openssh-server git php RUN curl -sS https://getcomposer.org/installer | php — –install-dir=/usr/local/bin –filename=composer # pulling id_rsa […]

Docker安装Wine Dockerfile EULA

我在我的高山形象上安装葡萄酒有一点问题。 这是我的Dockerfile: RUN dpkg –add-architecture i386 && sudo apt-get update RUN sudo apt-get install software-properties-common python-software-properties RUN sudo add-apt-repository ppa:ubuntu-wine/ppa RUN sudo apt-get update RUN sudo apt-get install wine1.8 winetricks RUN sudo apt-get purge software-properties-common python-software-properties RUN rm -rf /tmp/* /var/lib/apt/lists/* /root/.cache/* CMD /bin/bash; 所有似乎工作正常,但在sudo apt-get安装wine1.8 winetricks我有这个EULA屏幕: 当然我没有权利写“是”。 我试过了 : RUN echo "yes" | sudo […]

Docker:无法启动服务nginx

我正在使用docker -compose处理nginx服务,我创build了docker-compose.yml文件: version: '2' services: nginx: image: nginx:1.11.8-alpine ports: – "8858:80" volumes: – ./site.conf:/etc/nginx/conf.d/default.conf – ./code:/usr/share/nginx/html – ./html:/myapp – ./site.conf:/etc/nginx/conf.d/site.conf – ./error.log:/var/log/nginx/error.log – ./nginx.conf:/etc/nginx/nginx.conf:ro 这是site.conf文件 server { listen 80; index index.html index.php; server_name localhost; error_log /var/log/nginx/error.log; location / { root /usr/share/nginx/html; } location /html { alias /myapp; } } 这是docker组成的结果 错误:对于ef5152b88a7c_ef5152b88a7c_nginxdocker_nginx_1无法启动服务nginx:oci运行时错误:container_linux.go:247:启动容器进程导致“process_linux.go:359:容器init导致”rootfs_linux.go:54:挂载\\“/ root / nginx-搬运工/ nginx.conf […]

为什么“RUN rm /etc/nginx/conf.d/default.conf”没有成功?

我不想让我的nginx /etc/nginx/conf.d/default.conf镜像拥有/etc/nginx/conf.d/default.conf所以我写了一个简单的nginx dockerfile,主要是添加RUN rm /etc/nginx/conf.d/default.conf 令我惊讶的是,这没有奏效。 /etc/nginx/conf.d/default.conf仍然存在。 为什么以及如何删除它? 我的dockerfile: FROM nginx:latest # Copy custom configuration file from the current directory RUN rm /etc/nginx/conf.d/default.conf COPY nginx.conf /etc/nginx/nginx.conf COPY conf.d/node2 /etc/nginx/conf.d/node2 EXPOSE 80 8080 我的docker-compose.yml为nginx服务添加了名称卷 volumes: – conf:/etc/nginx/conf.d 更新: 我终于发现,这是因为我在我的docker-compose.yml中创build了一个名为volume的名称,它创build/etc/nginx/conf.d/default.conf因此/etc/nginx/conf.d/default.conf rm根本不起作用。 但是为什么创build名称卷将导致创build`/etc/nginx/conf.d/default.conf? UPDATE2: 随着第二个答案,我终于明白了为什么。 所以RUN rm /etc/nginx/conf.d/default.conf确实有效。 问题是我在运行RUN rm /etc/nginx/conf.d/default.conf之前创build的docker-compose.yml中使用了一个卷,并且该卷有default.conf。 发生了这样的情况,我第一次使用没有rm的dockerfile并运行docker docker-compose up ,然后我添加了rm来重build镜像并再次运行docker-compose up 。 但我永远不会更改我的docker-compose.yml或清理我的卷。 […]

Dockertestinglaravel项目总是失败,SQLSTATE 2002第一次

我使用docker运行laravel项目testing,命令看起来喜欢这个 docker-compose build –no-cache docker-compose up -d laravel php-fpm apache2 mysql sleep 4 docker ps docker-compose ps docker-compose exec laravel bash tests.sh sleep 4 docker ps docker-compose ps docker-compose exec laravel bash tests.sh 但总是在第一次tests.sh失败,并获得消息SQLSTATE[HY000] [2002] Connection refused和睡眠4s运行第二次testing将成功。 这很奇怪,我相信所有的testing结果都应该是绿灯。 这里有一些日志和命令输出,以帮助https://gist.github.com/weretyc/9217c5c1775d1c284b6d525538817620 任何想法?

在dockerfile构build上主机密钥validation失败

我使用ssh-keygen创build了一个ssh密钥,并将id-rsa.pub内容添加到了我的github>settings>SSH & GPG keys 。 我能够克隆从我的terminal与git克隆git @ github的回购:myname / myrepo.git 但是同样的是在构builddocker文件的时候出现以下错误。 Cloning into 'Project-Jenkins'… Host key verification failed. fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists. 这是我如何在dockerfile中添加命令 RUN git clone git@github.com:myname/myrepo.git 这里出了什么问题? 这是我的dockerfile FROM ubuntu COPY script.sh /script.sh CMD ["/script.sh"] FROM python:2.7 RUN […]

Docker组合生成错误 – 项目文件不存在

我正在尝试创builddocker compose来运行我的ASP.NET Core应用程序和mssql,但是在构build过程中出现错误。 这是我的docker撰写文件: # Build Stage FROM microsoft/aspnetcore-build:latest as build-env WORKDIR /source COPY . . RUN dotnet restore ./Travelingowe.sln RUN dotnet publish –output ${source:-obj/Docker/publish} –configuration Release # Publish Stage FROM microsoft/aspnetcore:latest COPY –from=build-env ./obj/Docker/publish /app WORKDIR /app ENTRYPOINT ["dotnet", "Api.dll"] 当我在CMD中运行 – > docker-compose up时,我得到: Building api Step 1/9 : FROM microsoft/aspnetcore-build:latest as build-env […]