Tag: docker compose

docker撰写无法连接postgresql数据库与Django

我的django应用程序无法连接到postgresql。 我使用Django的Dockerfile,并使用docker-compose和postgres官方图像构build。 泊坞窗,compose.yml version: '2' services: db: image: eg_postgresql expose: – 5432 environment: – POSTGRES_PASSWORD=docker – POSTGRES_USER=docker – POSTGRES_DB=postgres web: build: . command: python3 manage.py runserver 0.0.0.0:8000 volumes: – .:/test_application ports: – "8000:8000" links: – "db:db" environment: – DATABASE_URL=postgres://docker:docker@db:5432/postgres – DJANGO_SECRET_KEY=x7-g-xu^h5k%h8860!7ksn=@)7q9frn9_l6tmefvf)y=0)d!uh 输出: conn = _connect(dsn, connection_factory=connection_factory, **kwasync) django.db.utils.OperationalError: could not connect to server: Connection refused […]

是否有可能在同一个主机上运行多个nginx docker容器?

是仅仅使用docker-compose来在同一主机上挂载多个nginx容器,每个容器共享端口80? 我想整理一个在同一主机上运行多个应用程序的系统。 每个应用程序由多个链接在一起的docker-compose文件连接的docker容器组成,每个应用程序都以主机系统的nginx作为反向代理向全世界公开。 到现在为止还挺好。 每次我添加一个新的docker应用程序时,我都必须为该应用程序添加一个新的nginx.conf文件给主机nginx,但是我宁愿将nginxconfiguration与应用程序的docker-compose文件绑定为一个nginx容器,因此让每个应用程序干净地维护容器中所需的一切。 但是,每个nginx容器需要侦听端口80,所以只有第一个绑定。 主机nginx可以侦听端口80上的几个web应用程序,但是多个nginx实例可以做同样的事情吗? 更新 : 所以这似乎不是严格可行的。 我们的目标是尽可能多地将与应用程序绑定的应用程序特定的nginxconfiguration,所以我尝试了一个解决scheme,即应用程序仍然使用该逻辑来自己调用nginx容器,而主机nginx只处理到应用程序的url路由nginx 。 不确定性能,但这大大减less了主机与应用程序的纠缠。

在没有运行容器服务的情况下,在Docker容器中同步本地代码

我创build了一个具有可执行节点js应用程序的docker镜像。 我有多个独立于自己的模块。 这些模块使用npm link命令作为npm link内部的包创build,因此可以在我的节点js索引文件中使用。 目录结构是 |-node_modules |-src |-app |-index.js |-independent_modules |-some_independent_task |-some_other_independent_task 在构build映像时,我已经为根node_modules中的每个独立模块创build了npm link 。 这将在每个独立的模块内创build一个node_modules文件夹,而不存在于本地。 这只在容器内部创build。 我需要这些模块在src/app/index.js并继续我的任务。 这个docker镜像不使用服务器来保持容器运行,因此容器在过程结束时停止。 我使用build立图像 docker build -t demoapp 要在开发环境中运行index.js,我需要将本地src目录挂载到docker src目录,以反映更改而不重build映像。 安装和运行我使用命令 docker run -v $(pwd)/src:/src demoapp node src/index.js 这里的问题是,在本地,没有安装依赖关系,即没有node_modules文件夹存在。 因此,在将本地目录安装到docker中时,将其replace为空的,因此在node_modules安装的依赖关系在node_modules消失了。 我试图使用.dockerignore不装载node_modules文件夹,但它没有工作。 而且,在本地保留空的node_modules也是行不通的。 我也尝试使用docker-compose来保持卷同步,并node_modules隐藏了node_modules ,但是我认为这只在node_modules与任何服务器运行时同步,即docker容器保持运行。 这是我用的docker-compose.yml # docker-compose.yml version: "2" services: demoapp_container: build: . image: demoapp volumes: – "./src:/src" […]

如何使用docker-compose创buildLEMP堆栈?

我想创build一个LEMP堆栈的docker-compose为本地web开发,但我有一些麻烦… 我写的configuration文件: 泊坞窗,compose.yml nginx: image: nginx:latest ports: – "8080:80" volumes: – ./web:/web – ./mysite.template:/etc/nginx/conf.d/mysite.template links: – php command: /bin/bash -c "envsubst < /etc/nginx/conf.d/mysite.template > /etc/nginx/conf.d/default.conf && nginx -g 'daemon off;'" php: image: php:7-fpm volumes: – ./web:/web mysite.template server { listen 80; root /web; index index.php index.html; server_name default_server; location ~ \.php$ { fastcgi_pass php:9000; fastcgi_index […]

如何在docker-compose的两个不同的端口上启动两个memcached实例?

我想启动两个memcached的docker-compose服务。 我正在使用两个实例的docker标准memcached图像。 Memcached应​​该能够使用环境variables来改变它正在监听的端口,但它似乎不工作。 我的docker-compose.yml … memcached-server: image: memcached environment: MEMCACHED_PORT: 11211 ports: – 11311:11211 networks: – my_net memcached-server-lock: image: memcached environment: MEMCACHED_PORT: 11212 MEMCACHED_CACHE_SIZE: 128 ports: – 11312:11212 networks: – my_net … 容器开始正确,但envvariables似乎没有拿起: 0ae76227b72b memcached "docker-entrypoint…" 17 seconds ago Up 13 seconds 0.0.0.0:11311->11211/tcp mobidesk_memcached-server_1 ab3682361dad memcached "docker-entrypoint…" 17 seconds ago Up 12 seconds 11211/tcp, 0.0.0.0:11312->11212/tcp […]

具有不同容器和端口的相同Docker镜像不可访问

我在我的Windows开发机器上运行Docker主机,并有2个辨别图像暴露不同的端口(3000,3001)。 使用以下docker-compose构build并运行容器,但端口3001上的容器不能通过本地主机或我的IP地址使用。 DockerFile FROM mhart/alpine-node:8 # Create an app directory (in the Docker container) RUN mkdir -p /testdirectory WORKDIR /testdirectory COPY package.json /testdirectory RUN npm install –loglevel=warn COPY . /testdirectory EXPOSE 3000 CMD ["node", "index.js"] DockerFile FROM mhart/alpine-node:8 # Create an app directory (in the Docker container) RUN mkdir -p /test2directory WORKDIR /test2directory COPY package.json […]

是否可以在具有不同子域和相同侦听端口(80)的单个主机上部署多个容器?

我已经在单个Windows Server 2016上部署了20个ASP.Net容器。在这里我有点容器与不同的端口在相同的IP工作正常。 我需要在端口80上公开容器中的所有站点来分隔子域(例如:site1.serveraction.com,site2.serveraction.com) 但是另外一个工作的容器正在下降。 在这里,我的Docker撰写文件: 版本:“3”服务:site1:image:“raj / con:site1”环境: – HOST_NAME = 13.92.51.1XX – VIRTUAL_HOST = site1.serveractions.com端口: – “80:80” 版本:“3”服务:site2:image:“raj / con:site2”环境: – HOST_NAME = 13.92.51.1XX – VIRTUAL_HOST = site2.serveractions.com端口: – “80:80”

从撰写到群集:在'阅读授权包'丢失连接到MySQL服务器

我有一个docker-compose文件,允许我使用compose命令启动和访问一个web应用程序: docker-compose -f docker-compose-dev.yml up -d on the original docker-compose-dev.yml file : version: "3" services: learnintouch-startup: image: localhost:5000/learnintouch-startup container_name: learnintouch-startup restart: always volumes: – "~/dev/docker/projects/learnintouch/volumes/engine:/usr/bin/learnintouch/engine" – "~/dev/docker/projects/learnintouch/volumes/www.learnintouch/account/data:/usr/bin/learnintouch/www/learnintouch.com/account/data" – "~/dev/docker/projects/learnintouch/volumes/www.thalasoft/account/data:/usr/bin/learnintouch/www/thalasoft.com/account/data" – "~/dev/docker/projects/learnintouch/volumes/www.folkuniversitet/account/data:/usr/bin/learnintouch/www/folkuniversitet/account/data" ports: – "81:80" links: – mysql – redis – nodejs-learnintouch nodejs-learnintouch: image: localhost:5000/nodejs-learnintouch container_name: nodejs-learnintouch restart: always volumes: – "~/dev/docker/projects/learnintouch/volumes/engine:/usr/bin/learnintouch/engine" ports: – "9001:9001" links: […]

2个具有不同端口的应用程序,在单个docker-compose和nginx反向代理中

我有一个应用程序与我的本地主机中的app.dev域运行。 但是,我想要有一个不同的端口运行额外的应用程序。 而不是80端口,它将2000域app.dev:2000在app2 /我可以知道我应该对我的docker组成和Nginx做什么改变? 谢谢 这是我的docker写作 version: "2" volumes: mongostorage: services: app: build: ./app ports: – "3000" links: – mongo – redis command: node ./bin/www app2: build: ./app2 ports: – "2000" links: – mongo – redis command: node app.js nginx: build: ./nginx ports: – "80:80" links: – app:app mongo: image: mongo:latest environment: – MONGO_DATA_DIR=/data/db volumes: […]

Nginx docker只能在docker-compose上find容器

我不知道如果这是正确的,但我有一个容器上的代理请求到一个Nodejs应用程序的一个nginx和一切都工作正常的Nodejs docker-compose文件与依赖function和所有。 但是现在我想将它们分离成不同的docker撰写文件,然后碰巧nginx找不到上游nodejsapp : 2017/11/10 15:21:38 [emerg] 1#1: host not found in upstream "nodejsapp" in /etc/nginx/conf.d/default.nodejsapp.conf:8 nginx: [emerg] host not found in upstream "nodejsapp" in /etc/nginx/conf.d/default.nodejsapp.conf:8 我的configuration代理的东西的作品,但无论如何是: server { listen 80; location / { proxy_pass http://nodejsapp:4000; proxy_set_header X-Remote-Addr $proxy_add_x_forwarded_for; proxy_cache STATIC; proxy_cache_valid 200 1d; proxy_cache_use_stale error timeout http_500 http_502 http_503 http_504; proxy_ignore_headers X-Accel-Expires Expires Cache-Control; […]