Tag: docker compose

如何使用Docker Compose连接到Redis容器?

这个docker-compose.yml似乎工作正常: version: '3' services: web: image: web-app command: bundle exec rackup ports: – "9292:9292" links: – redis redis: image: redis 命令: docker build -t web-app .; docker-compose up Web应用程序正在等待REDIS_URLconfiguration。 Web应用程序Dockerfile: ENV REDIS_URL redis:6379 看起来Web应用程序无法连接到Redis: Redis::CannotConnectError – Error connecting to Redis on 127.0.0.1:6379 (Errno::ECONNREFUSED): 那么,Web App的Redis URL是什么? 我需要暴露Redis端口(6379)吗? 编辑: 感谢@Andy Shinn,我看到redisurl应该是redis://6379 。 现在我得到Errno::EINVAL – Invalid argument […]

如何在Docker容器内访问主机上的postgres数据库?

我有一个django项目的docker-compose文件,试图使用位于主机上的数据库。 现在我的Dockerfile是: FROM python:3-slim ENV PYTHONUNBUFFERED 1 RUN mkdir /code. WORKDIR /code ADD . /code/ RUN pip install -r requirements.txt RUN export dockerhost=$(docker-machine ip) 泊坞窗,compose.yml: version: "2" networks: workernetwork: webnetwork: services: static: volumes: – /static:/static – /media:/media image: alpine:latest web: build: . command: bash -c "SECRET_KEY=temp_value python /code/manage.py collectstatic –noinput && python /code/manage.py migrate && […]

docker可以根据需要在容器之间共享内存和CPU吗?

如果我正在运行多个Docker容器,内存和CPU使用率都很高,那么他们能够使用主机的全部容量吗? 还是将它们限制在单个容器定义的CPU和内存限制? 例如: 如果我运行的是3个容器,每天只有1GB的内存,在不相交的时间。 同样,如果那些相同的容器代替了CPU,并且在不相交的时候每天突发到1CPU单元。 我可以在只有1.1GB内存或1.1个CPU单元的盒子上运行这3个容器吗?

使用Docker的Postgres:Postgres在持久化数据时无法加载

我是Postgres的新手。 我更新了我使用的Dockerfile,并在其上成功安装了Postgresql。 (我的图像运行Ubuntu 16.04,我使用的是Postgres 9.6。) 一切工作正常,直到我试图将数据库移动到一个与docker-compose一个Volume (这是用cp -R /var/lib/postgresql /somevolume/复制容器的文件夹后)。 问题是Postgres一直在崩溃,正如supervisord所见证的那样: 2017-07-26 18:55:38,346 INFO exited: postgresql (exit status 1; not expected) 2017-07-26 18:55:39,355 INFO spawned: 'postgresql' with pid 195 2017-07-26 18:55:40,430 INFO success: postgresql entered RUNNING state, process has stayed up for > than 1 seconds (startsecs) 2017-07-26 18:55:40,763 INFO exited: postgresql (exit status 1; […]

Docker-Compose Postgresql导入转储

我有一个关于docker和Postgres的问题。 每次docker启动时,我都要设置一个新的postgres数据库,并且要导入给定的转储。 我的问题是喜欢,但答案是不够的: Docker postgres不运行docker-entrypoint-initdb.d中的init文件 多克尔 – 撰写: postgres: environment: – POSTGRES_USER=**** – POSTGRES_PASSWORD=**** – POSTGRES_DB=**** build: context: . dockerfile: dockerfile-postgres 我的Dockerfile :(我已经用.sh结尾的脚本试过了) FROM postgres ADD dump.sql /docker-entrypoint-initdb.d/ 根据https://hub.docker.com/_/postgres/必须使用dump.sql来导入数据库。 使用docker启动应用程序只会提供: postgres_1 | LOG: invalid record length at 0/1708600 postgres_1 | LOG: redo is not required postgres_1 | LOG: MultiXact member wraparound protections are now enabled […]

docker:在创build一台机器时,VT-X / AMD已经启用了

我正在阅读本教程 使用撰写和计算机进行Dockerizing Flask – 从本地主机到云端 尝试使用以下命令创build虚拟机时 docker-machine create -d virtualbox dev; 我有以下错误 创build机器时出错:机器创build期间驱动程序出错。 这台电脑没有启用VT-X / AMD。 在BIOS中启用它是强制性的 (附录:我正在虚拟机上运行一个Ubuntu镜像,物理主机是一个Windows机器, VT-X/AMD在BIOS和VT-X/AMD机中都是启用的。 在这里和那里阅读,这似乎是一个正常的行为,因为我试图在virtualbox中创build一个virtualbox – > 点击这里的解释 我应该使用什么命令而不是docker-machine ? 任何见解都比欢迎… 更新 :在他最初的回答后,我已经向@VonC提出了另外3个问题。 请在下面find以斜体表示的问题 1)我应该如何使virtualbox和dockerconfiguration看到新的“virtualbox”? 2)将Ubuntu的盒子,能够做docker – 撰写和build立该主机上的容器? 3)如果我像debian一样拉图像,我怎样才能将它用作机器,并在其上创build一个容器?

debugging在Docker中运行的python应用程序

最近我刚开始试图把我的头围在Docker上,并成功地开发了一台开发机器。 我现在要做的是能够在我的Python应用程序(特别是Django)中使用Visual Studio代码中的debugging器。 我已经试过跟在VS代码的python扩展的有限的文档,它解释了远程debugging的参数。 Dockerfile FROM python:3.5.2 RUN apt-get update \ –no-install-recommends && rm -rf /var/lib/apt/lists/* \ && mkdir -p /code \ EXPOSE 8000 WORKDIR /code COPY requirements.txt /code RUN /bin/bash –login -c "pip install -r requirements.txt" ADD . /code CMD [] 泊坞窗,compose.yml version: '2' services: db: image: postgres web: build: . volumes: – .:/code […]

在docker容器中运行rails迁移有时会导致ActiveRecord :: DuplicateMigrationNameError

我有一个泊坞窗容器,是为我的应用程序创build的,在我的应用程序目录上有一个安装的卷,有时当我运行我的db:setup命令时,我得到一个ActiveRecord :: DuplicateMigrationNameError。 我不完全确定为什么这可能会发生,因为应用程序在其他环境中正常运行。 看起来像docker是要么我的文件系统两次或其他奇怪的事情。 有没有人听说重复的迁移之前被拉入docker集装箱? 或者有什么方法可以debugging为什么这是发生在我的容器?

泊坞窗撰写链接似乎不起作用

我正在使用Docker Compose在开发中运行Elixir / Phoenix应用程序。 这个设置非常标准,有一个postgres容器和一个web容器。 但是,我很难让Web容器与数据库容器交谈。 这是我的Web容器Dockerfile : FROM ubuntu:14.04 MAINTAINER me@example.com RUN locale-gen en_US.UTF-8 ENV LANG en_US.UTF-8 ENV LANGUAGE en_US:en ENV LC_ALL en_US.UTF-8 ENV DEBIAN_FRONTEND noninteractive RUN apt-get update RUN apt-get install -y wget RUN apt-get install -y curl RUN apt-get install -y inotify-tools RUN apt-get install -y postgresql-client RUN wget https://packages.erlang-solutions.com/erlang-solutions_1.0_all.deb \ && […]

从Docker容器连接到SQL Server数据库

我有我的机器上安装的窗口泊坞窗。 有一个控制台应用程序以.net core 1.0.0为目标,试图访问运行在不同虚拟机上的SQL Server数据库。 我可以从我的机器上ping运行SQL Server的VM。 当我尝试从我的机​​器上的命令提示符dotnet run使用dotnet run控制台应用程序它工作正常。 但是当相同的应用程序在Docker容器中运行时,我收到一条消息 与SQL Serverbuild立连接时发生networking相关或特定于实例的错误。 服务器未find或无法访问。 validation实例名称是否正确,并将SQL Serverconfiguration为允许远程连接。 (提供程序:TCP提供程序,错误:40 – 无法打开到SQL Server的连接) 我试过使用 docker run –add-host sqldemo:<VM running sql server ip here> 但这没有什么区别。