Tag: docker compose

docker-compose postgres自定义数据库的详细信息

我正在尝试使用docker和docker-composedocker化现有的django应用程序。 使用默认的postgres数据库的Insead,我想创build一个新的名称,用户名和密码的数据库。 这是我正在使用的configuration。 当我附加到数据库容器,我仍然只看到默认帐户,用户和密码。 $ cat .env # Add Environment Variables DB_NAME=postgres_2 DB_USER=postgres_2 DB_PASS=postgres_2 DB_SERVICE=postgres_2 DB_PORT=5432 $ cat docker-compose.yml web: restart: always build: ./web expose: – "8000" links: – db:db – redis:redis volumes: – /usr/src/app/static command: /usr/local/bin/gunicorn django_project.wsgi:application -w 2 -b :8000 nginx: restart: always build: ./nginx/ ports: – "80:80" volumes: – /www/static volumes_from: – […]

无法使用docker撰写软件包

我的networking应用程序使用Node.js和MongoDB。 我从泊坞窗镜像中心拉蒙戈图像 。 当我构build我的节点应用程序的图像时,它运行良好。 但是,当我启动容器使用撰写它给出了以下错误。 是不是应该从Dockerfile构build图像时安装包? web_1 | module.js:457 web_1 | 扔呃; web_1 | ^ web_1 | web_1 | 错误:找不到模块'mongoose' web_1 | 在Function.Module._resolveFilename(module.js:455:15) web_1 | 在Function.Module._load(module.js:403:25) web_1 | 在Module.require(module.js:483:17) web_1 | 在要求(内部/ module.js:20:19) web_1 | 在对象。 (/worklog/worklog.js:7:14) web_1 | 在Module._compile(module.js:556:32) web_1 | 在Object.Module._extensions..js(module.js:565:10) web_1 | 在Module.load(module.js:473:32) web_1 | 在tryModuleLoad(module.js:432:12) web_1 | 在Function.Module._load(module.js:424:3) Dockerfile FROM node […]

package.json中的所有节点模块都会在稍作更改后重新下载

我有一个NodeJS容器与下面的Dockerfile FROM node:6 COPY package.json /tmp/package.json RUN npm config set registry http://registry.npmjs.org/ RUN cd /tmp && npm install RUN mkdir -p /app && cp -a /tmp/node_modules /app/ WORKDIR /app CMD npm run dev EXPOSE 80 当我运行docker-compose build ,如果package.json没有被修改,节点模块不会被重新安装,这很好。 但是,如果我package.json添加一个依赖项,似乎我所有的依赖项都将从NPM重新下载,这浪费了很多时间。 这是行为的目的?

从nodejs调用rabbitmq

我有一个代码 当我尝试从nodejs连接到rabbitmq守护进程时出现错误 当我运行docker以外的代码,然后nodejs成功连接到服务器(rabbitmq deamon)。 我如何从nodejs deamon连接到rabbitmq deamon? docker-composeconfiguration:

当我们停止发送到pid 1时,docker如何处理subprocess?

我目前在一个Dockerfile中使用ENTRYPOINT [“/sbs/start.sh”]。 所以当一个容器启动时,start.sh以pid 1的forms运行,而我的start.sh脚本跨越两个subprocess到pid1。 我的问题是,如果docker停止命令发送到pid1,docker如何处理subprocess? 孩子的过程是否会优雅地停止? 还是会被强行杀害? 在这些有subprocess的情况下,有一个简单的进程pipe理器和init系统( https://github.com/Yelp/dumb-init或supervisor)来处理这些问题会更好吗? 如果是的话,请build议一个轻量级的init系统? 或者可以pid1(在我的情况下start.sh)照顾这些问题? ps -ef的输出: root 1 0 0 19:23 ? 00:00:00 /bin/bash /sbs/start.sh root 13 1 0 19:23 ? 00:00:00 /sbs/bin/envconsul… root 20 13 1 19:23 ? 00:00:21 /usr/lib/… 任何帮助表示赞赏。

如何将一个Dockerfile转换成一个Docker组合图像?

这就是我如何使用基于ubuntu镜像的nodeJS和meteorJS创builddocker镜像。 我将使用这个图像做一些testing。 现在我正在考虑通过docker撰写。 但是这是可能的吗? 我可以将这些命令转换成一个泊坞窗撰写yml文件吗? FROM ubuntu:16.04 COPY package.json ./ RUN apt-get update -y && \ apt-get install -yqq \ python \ build-essential \ apt-transport-https \ ca-certificates \ curl \ locales \ nodejs \ npm \ nodejs-legacy \ sudo \ git ## NodeJS and MeteorJS RUN curl -sL https://deb.nodesource.com/setup_4.x | bash – RUN curl https://install.meteor.com/ […]

从Docker内部debuggingNode.js应用程序

在debuggingNode.js应用程序时,我期望命令node index.js –inspect=5858使我的index.js文件可以在端口5858上debugging。 当我在Docker之外的主机上运行应用程序时,我可以在Chrome开发工具中debugging应用程序。 我在Docker中做了同样的事情,Chrome开发工具无法访问端口5858上的debugging器。 正如你所看到的,端口5858暴露于主机进行debugging: version: '2' services: server: build: . command: node index.js –inspect=5858 volumes: – .:/app ports: – "8000:8000" – "5858:5858" environment: – NODE_ENV = "development" 我已经在Chrome开发工具中指定了localhost:5858和127.0.0.1:5858networking端点,但Dev Tools仍然没有自动连接到它, 这似乎是我的Docker设置的一个问题,虽然你可以看到,我已经把端口暴露给主机。 可能是什么问题? 谢谢。

Docker是git源码控制的替代品吗?

Docker是否打算取代git ,SVN或其他类似的源码控制平台? 如果不是两者如何融合?

Postgres泊坞窗图像将不会运行,不会启动

我跑 docker-compose up 我得到: $ docker-compose up Starting asynchttpproxy_db_1 Starting asynchttpproxy_web_1 Attaching to asynchttpproxy_db_1, asynchttpproxy_web_1 db_1 | LOG: database system was shut down at 2017-05-01 05:11:54 UTC db_1 | LOG: MultiXact member wraparound protections are now enabled db_1 | LOG: database system is ready to accept connections web_1 | Performing system checks… web_1 | web_1 […]

从Docker容器运行Docker构build时,主机名parsing失败

我们从docker容器运行一个Jenkins CI服务器,用docker-compose开始。 Jenkins服务器正在运行一些作业,这些作业是从git中拉出项目并构builddocker容器的执行docker build .的标准方式docker build . 在他们。 为了能够在Docker容器中使用docker,我们使用docker-compose将其挂载到/var/run/docker.sock上。 我们正在尝试构build的一些Dockerfile正在从我们的文件服务器(例如第三方安装映像)下载文件。 这样一个Dockerfile命令看起来像RUN curl -o xx.zip http://fileserver/xx-1.2.3.zip 。 fileserver主机名通过/etc/hosts文件parsing,并parsing为运行Jenkins CI服务器的主机公共IP。 用于Jenkins容器的extra_hosts -composeconfiguration还包括将fileserver指向主机的公共IP的extra_hosts参数。 问题是在Jenkins运行它自己的容器中构buildDocker容器失败,并显示一个普通的Unknown host: fileserver消息。 如果我通过docker exec -it <id>进入Jenkins容器,我可以执行相同的curl命令并parsing主机,但是如果我尝试运行docker build . 那里试图运行相同的curl命令,它无法parsing主机。 我们的主机是一个RHEL,我没有在我的桌面Arch Linux上重现这个问题,所以我怀疑这是一个特定于redhat的问题(再次)。