Tag: docker compose

Python脚本将数据添加到postgres docker容器多次运行

我试图find一个很好的方式来填充一个简单的应用程序的初始数据的数据库。 我正在使用来自realpython.com的教程作为起点。 然后,我创build数据库后,运行一个简单的Python脚本添加一个单一的项目,但是当我这样做的数据被添加多次,即使我只调用脚本一次。 结果 人口脚本(test.py): from app import db from models import * t = Post("Hello 3") db.session.add(t) db.session.commit() 编辑: 下面是我用来构build项目的docker-compose文件: web: restart: always build: ./web expose: – "8000" links: – postgres:postgres volumes: – /usr/src/app/static env_file: .env command: /usr/local/bin/gunicorn -w 2 -b :8000 app:app nginx: restart: always build: ./nginx/ ports: – "80:80" volumes: – /www/static […]

Docker + Rails + Postgres:应用程序无法访问数据库容器

Docker新手 试图跟随在Docker容器中的两个COdeShip教程为Rails + Postgres。 数据库容器在docker-compose up -d控制下的应用程序容器启动和停止docker-compose up -d和docker-compose rm 。 Postgres命令在应用程序容器内不可用,所以docker-compose run app bin/rake db:create chokes报告找不到createdb 。 我在这个Gist中写得更完整了。 我被困了3天,并计数; 帮助将不胜感激!

不使用docker-compose和django提供静态文件的Nginx(13:权限被拒绝)

我使用docker-compose和docker-machine来设置具有多个容器的开发环境。 我有一个nginx的容器,它作为我的django应用程序的代理,也提供静态文件)。 我也有一个django应用程序的容器,一个用于postgresql,一个用于postgresdata。 目录结构如下: code/ — nginx/ Dockerfile nginx.conf — web/ django-project/ static/ Dockerfile manage.py requirements.txt .env docker-compose.yml production.yml 为了运行应用程序,我使用docker-machine: docker-machine create -d virtualbox dev 然后我运行: docker-compose build docker-compose up -d 而应用程序已经启动并在机器的ip上运行。 问题是nginx无法提供静态文件,因为它没有权限(13:权限被拒绝)。 我的设置如下: nginx Dockerfile: # Set nginx base image FROM nginx # Copy custom configuration file from the current directory COPY nginx.conf /etc/nginx/nginx.conf […]

redis将超时连接到泊坞窗中的远程服务器

我在机器A中启动一个docker-compose的redis容器 泊坞窗,compose.yml。 redis: ports: – "6379:6379" image: redis 在机器A上,我可以使用terminal中的redis-cli连接到它。 redis-cli 127.0.0.1:6379> 但是我无法连接到它,即使在机器A本身上,也使用机器B上的A的IP。 在机器B或A. redis-cli -h 10.10.10.25 Could not connect to Redis at 10.10.10.25:6379: Connection timed out not connected>

有问题使用nginx代理+ dockergen在主机端口80上运行节点服务器?

基本上我试图设置我的节点应用程序由nginx在我的docker机器的http://192.168.99.100/ ,而不是绕过nginx和做像http://192.168.99.100:7777/通过发布端口7777到主机。 我目前正试图服务我的docker机器的根,我的frontend节点应用程序容器,即http://192.168.99.100/ 。 我使用dockergen和nginx(单独的容器)一起来自动生成这个。 从Dockerfile构build的我的节点应用程序在以下地址和端口localhost:7777运行npm run dev:no-debug 。 我有以下的撰写文件。 version: '2' services: frontend: build: context: ./frontend volumes: – ./frontend:/usr/src/app – /usr/src/app/node_modules expose: – "7777" environment: – "PORT=7777" – "VIRTUAL_HOST=192.169.99.100" nginx_proxy: image: nginx container_name: nginx_proxy ports: – "80:80" – "443:443" links: – frontend volumes: – /tmp/nginx:/etc/nginx/conf.d – ./nginx/certs:/etc/nginx/certs dockergen: image: jwilder/docker-gen container_name: dockergen volumes_from: – […]

Docker撰写networking:nginx中的主机名不parsing

我试图迁移我的堆栈使用版本2的docker-compose.yml,并遇到networking主机名未被nginx解决的问题。 我的堆栈包含一个nginx反向代理(在debian上:wheezy),它通过其他几个软件组件来提供安全内容,我不会详细讨论(参见下面的configuration)。 在版本1 yaml中,我使用docker链接的环境variables和LUA脚本一起将它们插入到nginx.conf(使用nginx-extras)中。 这在Docker容器的前面作为一个反向代理完美运行。 在版本2 yaml中,我使用由dockernetworking生成的主机名。 我能够成功地从容器内ping这些主机名,但是nginx无法解决它们。 2016/05/04 01:23:44 [error] 5#0: *3 no resolver defined to resolve ui, client: 10.0.2.2, server: , request: "GET / HTTP/1.1", host: "localhost" 这是我目前的configuration: 泊坞窗,compose.yml: version: '2' services: # back-end api: build: . depends_on: – db – redis – worker environment: RAILS_ENV: development ports: – "3000:3000" volumes: – ./:/mmaps […]

Docker – 在不同的主机分区上挂载docker卷

我的CentOS系统有两个分区。 主要有20G&另一个(装/data )有500G。 我想要在其他分区上挂载一个卷,如下所示。 一切都成功了,但分区的文件并没有显示在容器中。 这是我的docker-compose文件: vvriv: container_name: vvr image: duser/vvr ports: – "9051:80" volumes: – ./application/site:/srv/www/site – /data/static:/srv/www/vvstatic environment: – TERM=xterm 在./application/site容器上,我可以在/srv/www/site看到./application/site的文件,但是/srv/www/vvstatic中没有显示文件/data/static文件。 我没有看到任何可见的错误。 任何想法为什么发生这种情况? 是因为分区不同吗?

docker工人组成Django和节点

我试图通过docker在django中创build一个应用程序,我希望使用一个存储库从前端(node,react)容器中分离出后端(django)容器。 我想从django容器运行节点命令(例如:npm init并在主文件夹中创buildpackage.json)。 这是一个很好的实践吗? 如果是,我该怎么做? 提前致谢。

从容器访问Docker-compose容器主机名

我正在尝试设置一个作为对等采样服务的应用程序。 每个同行将运行在一个单独的容器,为了便于使用,我会有一个跟踪器,将给每个同行的初始视图。 对于跟踪器,我将它作为具有简单REST API的Python 3.5 Web服务器运行。 当联系时,它会调用docker-compose -H tcp://hostip:2375 ps来获取容器列表和它们的主机名。 奇怪的是,当这个容器执行这个命令的时候,docker守护进程会回答一个空的列表,而如果我问这个守护进程不是从容器中,而是从我的计算机,甚至从同一个本地networking上的其他计算机上,它工作正常。 我不知道为什么守护进程会发送两个不同的结果。 这是我的Dockerfile FROM python:3.5.1 # RUN pip install pydevd ADD . /code WORKDIR /code EXPOSE 4321 RUN echo 'starting Tracker' CMD [ "python", "./scripts/tracker.py" ] 我的docker-compose.yml version: '2' services: pss: build: . tracker: expose: – "4321" build: context: . dockerfile: Dockerfile-tracker 和python文件中的一行: ps_output = […]

我怎样才能恢复我的postgresql泊坞窗卷?

我使用docker-compose来启动我的应用程序。 一个容器使用postgresql。 我创build了一个在tar.gz文件中备份容器卷的脚本。 backup.tar.gz ├── base ├── _data ├── … ├── pg_hba.conf └── old.txt 如果我在我的卷检查我的文件没有old.txt sudo tree -L 1 /var/lib/docker/volumes/application_postgresql/_data ├── base ├── _data ├── … └── pg_hba.conf 我尝试停止我的容器( docker-compose stop db ),解压到/var/lib/docker/volumes/application_postgresql/_data并重新启动我的容器( docker-compose restart db )。 但似乎没有工作。 文件看起来不错 sudo tree -L 1 /var/lib/docker/volumes/application_postgresql/_data ├── base ├── _data ├── … ├── pg_hba.conf └── old.txt 但我的容器不想开始 […]