Tag: docker compose

docker redis – 不能打开日志文件:没有这样的文件或目录

我的操作系统是:Ubuntu:15.10 我想使用官方docker集线器redis ,但遇到问题。 我的docker-compose.yml version: '2' services: redis: image: redis ports: – "6379:6379" volumes: – ~/dbdata/redis_conf/redis.conf:/usr/local/etc/redis/redis.conf volumes_from: – redisdata environment: – REDIS_PASSWORD: 29c4181fb842b5f24a3103dbd2ba17accb1f7e3c8f19868955401ab921 command: redis-server /usr/local/etc/redis/redis.conf redisdata: image: redis volumes: – /home/keryhu/dbdata/redisdb:/data command: –break-redis 我将默认的redis.conf复制到“〜/ dbdata / redis_conf / redis.conf”目录。 只需将“requirepass”修改为“29c4181fb842b5f24a3103dbd2ba17accb1f7e3c8f19868955401ab921” 当我启动容器时,遇到一个错误 – *** FATAL CONFIG FILE ERROR *** Reading the configuration file, at line […]

Docker postgres不会在docker-entrypoint-initdb.d中运行init文件

基于Docker的Postgres 文档 ,我可以在/docker-entrypoint-initdb.d创build任何*.sql文件并自动运行。 我有init.sql包含CREATE DATABASE ronda; 在我docker-compose.yaml ,我有 web: restart: always build: ./web expose: – "8000" links: – postgres:postgres volumes: – /usr/src/app/static env_file: .env command: /usr/local/bin/gunicorn ronda.wsgi:application -w 2 -b :8000 nginx: restart: always build: ./nginx/ ports: – "80:80" volumes: – /www/static volumes_from: – web links: – web:web postgres: restart: always build: ./postgres/ volumes_from: – […]

Docker项目结构与git submodules

当我看到使用Docker的git项目时,docker只是添加到包含源代码一个应用程序的git项目中。 但是,如果我想用docker-compose来编排我的git-projects的多个工作项目呢,因为他们一起工作(后端,前端,…)呢? 现在,我使用其他两个git项目的源代码和一些更自我创build的Dockerfiles – 所以我的撰写文件现在有7个服务(也有一些来自docker hub的公共项目)。 我还需要为不同的用例创build略有不同的.yml文件(只是使用不同的环境variables)。 有没有最好的做法,如何构build这样一个项目? 我的项目是这样的: my-project/ |__ env/ | |__ service-1/ | | |__ default.env | | |__ usecase-1.env | |__ service-2/ | |__ default.env | |__ usecase-1.env |__ override/ | |__ usecase-1.yml |__ src/ | |__ service-1/ | | |__ service-1/ (git submodule) | | |__ Dockerfile | |__ service-2/ […]

在Mac上的Docker机器:在Docker主机/ docker-machine上无法看到已安装的卷? 卷的物理存储位置在哪里?

我在一台Macbook Pro笔记本电脑上运行docker-machine(0.5.0)和docker-compose(1.5.0)来运行我的容器。 这意味着我使用docker-machine来创build我的virtualbox boot2docker驱动的HOST机器,它将运行我的docker守护进程并托pipe所有的容器。 我想我错过了关于HOSTS和VOLUME的概念,因为它们涉及到Docker和文档。 这是我的docker-compose.yml文件(网站只是build立php:5.6-apache图片): web: restart: "always" build: ./docker-containers/web ports: – "8080:80" volumes: – ./src:/var/www/html links: – mysql:mysql mysql: restart: "always" image: mysql:5.7 volumes_from: – data ports: – "3306:3306" environment: – MYSQL_ROOT_PASSWORD=XXX data: restart: "no" image: mysql:5.7 volumes: – /var/lib/mysql command: "true" Docker撰写卷的文件文档在这里: http : //docs.docker.com/compose/compose-file/ 它声明了卷 – 将path装载为卷,可选地在主机(HOST:CONTAINER)上指定path,或者访问模式(HOST:CONTAINER:ro)。 在这种情况下,主机是指由我的虚拟机创build的docker-machine,是否正确? 或者我的本地macbook文件系统? 在我的虚拟机上安装一个path到一个容器? 在networking下我声明: […]

Docker:应用程序可以通过docker-up来正常工作,但是如何通过Visual Studio来运行它并进行debugging?

我有几个项目,他们必须在独立的容器中运行,我也有一些共享库,应该是buit。 我发现以下文章如何做到这一点。 我只会显示一个项目的docker文件,因为它们是相同的: FROM microsoft/aspnetcore:2.0 AS base WORKDIR /app EXPOSE 80 FROM microsoft/aspnetcore-build:2.0 AS builder WORKDIR /src COPY *.sln ./ COPY Web/Web.csproj Web/ RUN dotnet restore COPY . . WORKDIR /src/Web RUN dotnet build -c Debug -o /app FROM builder AS publish RUN dotnet publish -c Debug -o /app FROM base AS production WORKDIR /app […]

使用Bitbucket Pipelines和Docker为Ruby on Rails项目设置CD

我很想在一个Ruby on Rails / PostgreSQL / Sidekiq项目中的Bitbucket Pipelines中进行连续部署,但是我正在努力让自己的头脑完全融合在一起,特别是如何在Docker镜像中使用postgres 。 我对Docker和Pipelines很新。 在我的谷歌search中,Docker谈到了使用docker-compose来创build一个bundle,所以我有一个Postgres容器和一个Sideqik容器,然后将它们与应用程序容器链接起来。 但是我不确定包和图像之间有什么区别,以及Bitbucket Pipelines是否支持包。 最终我想在Heroku上设置部署到临时环境,但是现在只要让rspec spec在Pipelines中工作就好了。 是否有一个已经设置了Ruby + PostgreSQL的公有图像? 如果不是,我从哪里开始? 我目前的Dockerfile看起来像这样: FROM postgres:9.4 FROM ruby:2.3.1-onbuild RUN apt-get update -qq && apt-get install -y build-essential libpq-dev nodejs postgresql-client 然后我运行docker build . 和docker run -it my-image /bin/bash和以下命令: root@a84ad0e7c16b:/usr/src/app# postgres bash: postgres: command not found root@a84ad0e7c16b:/usr/src/app# psql psql: could […]

docker组合服务的集中configuration

想象一下,一个非平凡的泊坞窗撰写应用程序,在一个Web应用程序的前面nginx和一些链接的数据存储: web: build: my-django-app volumes: – .:/code ports: – "8000:8000" links: – redis – mysql – mongodb nginx: image: nginx links: – web redis: image: redis expose: – "6379" mysql: image: mysql volumes: – /var/lib/mysql environment: – MYSQL_ALLOW_EMPTY_PASSWORD=yes – MYSQL_DATABASE=myproject mongodb: image: mongo 数据库很容易configuration(现在),容器公开很好的环境variables来控制它们(请参阅mysql容器),但是nginx什么? 我们需要为这个模板创build一个虚拟主机文件,对吗? 我不想推出我自己的形象,这将需要从不同的开发者的设置,每个更改的configuration重build,以testing ,通过舞台和生产 。 如果我们想以轻量级的方式通过翻转configuration选项来进行A / Btesting呢? 在这里需要一些集中的configurationpipe理 ,可能是由docker-compose控制的,可以将configuration文件写入共享卷? 随着新服务的添加,这只会变得更加重要(想象一下微服务云,而不是像在这个例子中那样是一个单一的web应用程序) 在docker-compose项目中pipe理configuration的正确方法是什么?

用于PHP 7的Docker gd模块

我有一个为Drupal 8configuration的docker文件,但在启动“docker-compose up”之后,一切顺利,但是在安装Drupal的时候,它显示我没有启用PHP的“gd”模块。 这里是我的Dockerfile: FROM php:7-fpm # Install modules RUN apt-get update RUN apt-get install -y software-properties-common RUN DEBIAN_FRONTEND="noninteractive" add-apt-repository ppa:ondrej/php RUN apt-get update RUN apt-get install -y vim curl wget build-essential software-properties-common git ca-certificates RUN apt-get install -y \ libbz2-dev \ libfreetype6-dev \ libjpeg62-turbo-dev \ libpng12-dev \ libxpm-dev \ libvpx-dev \ libmcrypt-dev \ libmemcached-dev […]

什么时候,在哪里以及如何在Visual Studio 2017中设置DOCKER_BUILD_SOURCE环境variables

在Visual Studio 2017中使用docker支持创build新的.NET核心应用程序时,它会创build一些docker-compose.yml文件。 docker-compose.vs.debug.yml和发布变体都包含对名为DOCKER_BUILD_SOURCE的环境variables的引用: version: '2' services: app: image: app:dev build: args: source: ${DOCKER_BUILD_SOURCE} environment: – DOTNET_USE_POLLING_FILE_WATCHER=1 volumes: – ./app:/app – ~/.nuget/packages:/root/.nuget/packages:ro – ~/clrdbg:/clrdbg:ro entrypoint: tail -f /dev/null labels: – "com.microsoft.visualstudio.targetoperatingsystem=linux" The purpose of this variable seems to be a reference to the source directory, however, it always seems to be empty. 我无法find关于这个问题的更详细的信息…有没有人有一个想法或指针,一些文档?

芹菜和烧瓶在相同的docker组成

我正在尝试使用docker-compose来产生我的Flask / Celery / Redis服务。 这是我docker-compose.yml : flask: build: . command: "python3 app.py" ports: – '5000:5000' links: – redis volumes: – .:/usr/src/app:ro celery: build: . command: "celery -A app.celery worker –loglevel=info" volumes: – .:/usr/src/app:ro redis: image: redis ports: – '6379:6379' 当我运行这个docker-compose ,Flask和Redis都可以正常运行,并且可以正常工作。 关于芹菜,Docker报告: flaskcelery_celery_1 exited with code 1 ,没有其他信息。 如果我在没有Docker的情况下运行我的三个服务,并使用celery -A app.celery worker –loglevel=info启动Celery,那么我的应用程序function就好了。 一些更多的信息,如果有必要: […]