Tag: 文件

docker php:7.1-fpm-alpine不能构buildGD

尝试从官方的php:7.1-fpm-alpine图像构build,在我的Dockerfile中使用以下摘录: FROM php:7.1-fpm-alpine RUN set -ex \ apk add –no-cache –virtual .build-deps \ freetype-dev \ libjpeg-turbo-dev \ libpng-dev \ \ && docker-php-ext-configure gd \ –with-freetype-dir=/usr \ –with-png-dir=/usr \ –with-jpeg-dir=/usr \ && docker-php-ext-install gd \ && apk del .build-deps 当试图用docker build构build这个时,GD在./configure期间失败,出现以下错误: configure: error: jpeglib.h not found 我可以确认jpeglib.h存在,并且正是我认为它应该在的地方 (事实上​​,确切地说它在Debian变体中的位置): $ docker run -it –rm php:7.1-fpm-alpine /bin/sh >$ […]

在Docker构build期间启动服务

我想在Docker构build期间启动一个服务。 我不需要这个服务在构build过程完成之后继续运行(或者我知道我可以使用CMD命令),但是我确实需要运行足够长的时间来执行第二个依赖于此服务的命令并运行。 更准确地说,我正在为ejabberd XMPP服务器编写一个Dockerfile,它也为这个服务器安装了一个模块。 我试图用ejabberdctl start启动ejabberd服务器,然后用ejabberdctl module_install实用程序安装模块,这取决于正在运行的节点。 它看起来像这样: RUN ejabberdctl start && ejabberdctl modules_update_specs && ejabberdctl module_install ejabberd_auth_http 现在我遇到了一个问题,我提出了两个可能的原因。 问题是我的版本不能从这一行开始工作,因为当第二个命令试图执行时节点closures了。 我得到以下错误,当您尝试使用ejabberdctl实用程序时,这是一个典型的错误,而不会实际启动节点: 失败的RPC连接到节点ejabberd @ localhost 命令'/ bin / sh -c ejabberdctl start && ejabberdctl modules_update_specs && ejabberdctl module_install ejabberd_auth_http'返回了一个非零的代码:3 这可能是因为服务的启动需要一些时间,比第二个命令执行所需要的时间要长,所以第二个命令会运行到正在启动的节点。 不知道这有多可能。 第二个原因可能是在构build过程中,依赖于init.d的服务的启动在Docker中不起作用。 我build立容器,直到导致问题的那一行,进入容器并手动执行命令,并且所有事情都按照它应该的那样工作。 所以总结一下,我想在构build期间启动ejabberd服务器,然后使用其控制工具来安装一些东西。 最后一个select是在没有运行服务器的情况下手动安装模块,但是我宁愿使用ejabberdctl控制工具来完成。

在docker容器中运行django

我试图做一个在Docker容器中运行的Django应用程序的简单示例。 使用这个图像https://hub.docker.com/_/django/只是为了简单。 不要告诉我,我不应该在生产中使用它:)应用程序是非常简单的,我很好,使用非常基本的Django服务器。 所以, 问题是我试图运行容器图像时,总是得到这个错误 C:\Users\slipo\PycharmProjects\simple_blog>docker run -p 8000:8000 my-blog python: can't open file './manage.py runserver 0.0.0.0:8000 –settings=mysite.settings.prod': [Errno 2] No such file or directory 但是,./ ./manage.py和mysite.settings.prod在容器中都存在。 容器创build日志显示文件存在: Step 7 : RUN ls -a —> Running in 932ed2ad3e4c . .. .idea Dockerfile blog manage.py mysite requirements.txt templates —> e7f938c1cbf2 Removing intermediate container 932ed2ad3e4c Step 8 […]

如何在“docker build”期间更新Docker镜像中的/ etc / hosts文件

我想在“docker build”期间更新我的/etc/hosts文件。 我在Dockerfile的下面添加了一行,但是它没有更新/etc/hosts文件也没有提供任何错误。 RUN echo "192.168.33.11 mynginx" >> /etc/hosts 我需要更新/etc/hosts 。 任何人都可以在这个build议?

在Dockerfile中多个RUN与单链运行,哪个更好?

Dockerfile.1执行多个RUN : FROM busybox RUN echo This is the A > a RUN echo This is the B > b RUN echo This is the C > c Dockerfile.2join它们: FROM busybox RUN echo This is the A > a &&\ echo This is the B > b &&\ echo This is the C > c […]

在postgres中以单用户模式创build表

我试图从postgres图像创build一个Dockerfile。 回购说,应该通过在/docker-entrypoint-initdb.d/中放置一个shell脚本来处理初始化。 我根据我在网上find的一个例子,把下面的脚本: #!/bin/bash echo "******CREATING DOCKER DATABASE******" gosu postgres postgres –single <<- EOSQL CREATE DATABASE orpheus; CREATE USER docker WITH ENCRYPTED PASSWORD 'pwd_docker'; GRANT ALL PRIVILEGES ON DATABASE orpheus to docker; CREATE TABLE profiles ( \ profile_id SERIAL UNIQUE PRIMARY KEY, \ user_id integer NOT NULL UNIQUE, \ profile_photo_id integer NOT NULL UNIQUE, \ […]

有没有一种方法来干扰Dockerfile?

如果Dockerfile写有错误,例如: CMD ["service", "–config", "/etc/service.conf] (缺less引用) 在构build之前有没有办法检测到这种错误?

什么是Dockerfile.dev,它与Dockerfile有什么不同

我已经看到一些与Dockerfile.dev回购。 内容与常规的Dockerfile非常相似。 这两者有什么区别,Dockerfile.dev的用途是什么?

docker部署将不会在群集中发布端口

我有一个由两个节点,一个经理和一个工人组成的群组。 我想在群中发布一个端口,所以我可以访问我的应用程序,我不知道如何实现这一点。 version: '2' services: server: build: . image: my-hub.company.com/application/server:latest ports: – "80:80" 当我运行docker-compose时,这暴露了端口80,它工作得很好,但是当我运行一个捆绑的部署 docker deploy my-service 这将不会发布端口,所以它只是说docker ps中的80 / tcp,而不是指向一个端口。 也许这是因为我需要连接一个负载平衡器或者运行一些奇怪的命令,或者添加另外一层configuration来实际暴露多主机群中的这个端口。 有人可以帮助我了解我需要configuration/做些什么来暴露一个端口。 我最好的情况是,端口80是暴露的,如果我从不同的主机名访问,它会发送给我不同的应用程序。 更新:如果我在部署应用程序后运行以下命令似乎工作 docker service update -p 80:80 my-service_server docker kill <my-service_server id> 我发现这个仓库运行一个高可用性代理,这似乎是伟大的,并由docker自己支持,但我似乎无法将这个单独应用到我的服务使用新的群模式。 https://github.com/docker/dockercloud-haproxy 在底部有一个很好的描述,描述了networking的外观: Internet -> HAProxy -> Service_A -> Container A 但是我找不到通过docker service create命令链接服务的方法,现在看起来好像是一种设置networking的方式,而当我将这个networking应用于服务时,它将在HAProxy中进行检测。 – 马库斯

高山包py-pip不见了

我试图安装在我的高山使用Docker撰写文件的Python PIP,但得到以下错误。 ERROR: unsatisfiable constraints: py-pip (missing): required by: world[py-pip] ERROR: Service 'web' failed to build: The command '/bin/sh -c apk add py-pip' returned a non-zero code: 1