Tag: docker compose

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 […]