Tag: docker compose

如何快速切换Docker环境进行开发?

我有多个项目,我需要定期切换。 这些项目是通过docker-compose设置的,但有些需要外部容器可用。 所以为了在项目中运行docker-compose up -d ,我必须先切换到不同的目录,并在那里启动一些基本的服务容器(共享mysql,redis等实例)。 我不想并行运行所有容器,对于某些人来说,这是不可能的,因为他们在同一个端口上收听。 我也发现某些容器需要一个脚本才能在其中运行,以便在开发中正确运行,而且我发现自己为了切换到一个项目而重复执行相同的命令。 我认为这可以是自动的,我只是不确定如何解决这个问题。 我如何能够快速切换docker环境? 我的目标是只有一个class轮。

什么时候,在哪里以及如何在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就好了。 一些更多的信息,如果有必要: […]

如何debugging在docker容器内运行的rails应用程序

我正试图在使用docker的rails应用程序中执行debugging器。我们的应用程序服务器在Ubuntuterminal中执行:docker -compose up 。 我没有find运行debugging器的方法。 我们不能使用rails s –debugger。 有什么方法来debugging我们与docker集成的rails应用程序。 当我将debugging器保存在应用程序文件中时,我们在控制台中得到输出:{*****debugging器请求,但不可用(确保ruby-debug在Gemfile中列出/安装为gem):使用–debugger启动服务器以启用* ****}

PostgreSQL PGDATA来自Docker-System中的主机

我想用docker-compose运行一个webapp。 我有一个运行postgresql和docker-engine的centos7主机。 我的docker-compose包含一个postgresql-image,并且应该从主机系统的PGDATA运行。 但是每次运行docker-compose时,我都会得到这个错误: initdb: directory "/var/lib/docker-postgresql" exists but is not empty docker-compose部分为postgresql数据库看起来像: db: build: ./postgres/ container_name: ps01 volumes: – ./postgres:/tmp – /var/lib/pgsql/9.4:/var/lib/docker-postgresql expose: – "5432" environment: PGDATA: /var/lib/docker-postgresql 我将Docker-Postgresql-App中的/var/lib/pgsql/9.4挂载到/ var / lib / docker-postgresql,并将此path设置为PGDATA-ENV。 ./postgres/中的Dockerfile如下所示: FROM postgres:latest ENV POSTGIS_MAJOR 2.3 ENV POSTGIS_VERSION 2.3.1+dfsg-1.pgdg80+1 RUN apt-get update \ && apt-get install -y –no-install-recommends \ postgresql-$PG_MAJOR-postgis-$POSTGIS_MAJOR=$POSTGIS_VERSION […]

Docker – PG :: ConnectionBad

用Phusion Passenger运行Rails,目前遇到postgres问题,每当我运行构build命令时,我得到这个错误: PG::ConnectionBad (could not connect to server: No such file or directory Is the server running locally and accepting connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"? ): 我的Dockerfile FROM phusion/passenger-customizable MAINTAINER VodkaMD <support@nyvur.com> ENV RACK_ENV="production" RAILS_ENV="production" SECRET_KEY_BASE="e09afa8b753cb175bcef7eb5f737accd02a4c16d9b6e5d475943605abd4277cdf47c488812d21d9c7117efd489d876f34be52f7ef7e88b21759a079339b198ce" ENV HOME /root CMD ["/sbin/my_init"] RUN /pd_build/utilities.sh RUN /pd_build/ruby2.2.sh RUN /pd_build/python.sh RUN /pd_build/nodejs.sh # Custom instructions RUN apt-get […]

如何使容器在Docker Compose中等待其他容器

我正在学习本教程,尝试使用Docker Compose来启动基础架构,而不是调用docker客户端的shell脚本。 一切工作正常,除了gitlab容器之前启动gitlab-postgreql和gitlab-redis,从而失败,因为它预计这些服务已经运行。 我试图使用depends_on属性,但它没有解决问题。 据我所知,如果其他容器的启动速度更快,这也无济于事。 经过一番研究,我发现,Docker Compose不提供开箱即用的解决scheme来控制容器的创build顺序。 怎么会这样? 我不敢相信这样的一个基本特征没有实现。 似乎Docker正在绊倒它自己的聪明之处,忘记了基础知识。 现在,我如何控制容器创build顺序,而不需要一些疯狂的支持脚本(这将使整个configuration比首先使用脚本/ docker客户端更复杂) 这是docker-compose.yml,因为它是 version: '2' services: gitlab-postgresql: image: sameersbn/postgresql:9.4-3 volumes: – /srv/docker/gitlab/postgresql:/var/lib/postgresql environment: – DB_NAME=gitlabhq_production – DB_USER=gitlab – DB_PASS=password gitlab-redis: image: sameersbn/redis:latest volumes: – /srv/docker/gitlab/redis:/var/lib/redis depends_on: – "gitlab-postgresql" gitlab: image: sameersbn/gitlab:7.14.3 volumes: – /srv/docker/gitlab/gitlab:/home/git/data ports: – "2222:22" – "8080:80" environment: – GITLAB_PORT=8080 – GITLAB_SSH_PORT=2222 depends_on: […]

Docker-compose环境variables

我想设置一个postgres容器,并想要设置postgreslogin: POSTGRES_USER: docker POSTGRES_PASSWORD: docker 所以我创build了docker-compose.yml web: build: . ports: – "62576:62576" links: – redis – db db: image: postgres environment: POSTGRES_PASSWORD: docker POSTGRES_USER: docker redis: image: redis 我也尝试了其他的声明db部分的环境variables的语法: db: image: postgres environment: – POSTGRES_PASSWORD=docker – POSTGRES_USER=docker 但是,这些选项似乎都不起作用,因为无论什么原因,当我尝试连接到使用各种连接stringpostgres数据库: postgres://postgres:postgres@db:5432/users postgres://postgres:docker@db:5432/users postgres://docker:docker@db:5432/users 他们都给我auth失败,而不是抱怨没有用户数据库。

为什么不能通过docker-compose访问磁盘?

根据docker文档,我使用redis尝试了一个非常简单的python应用程序的第一个testing。 这之后崩溃,因为redis不能坚持。 我不知道为什么。 你可以在这里find公共回购: Github回购 我目前的docker-compose.yml是: web: build: . ports: – "5000:5000" volumes: – .:/code links: – redis redis: image: redis:latest volumes: – ./data:/data 编辑:这是日志的摘录: 1:M 09 Feb 10:51:15.130 # Background saving error 1:M 09 Feb 10:51:21.072 * 100 changes in 300 seconds. Saving… 1:M 09 Feb 10:51:21.073 * Background saving started by pid 345 […]

ASP.NET核心docker生成错误

我是ASP.NET Core和Docker的新手。 我创build了一个简单的ASP.NET Core 2.0应用程序,并尝试在Windows上使用Docker。 但是,我得到这个错误: Your Docker server host is configured for 'Linux', however the docker-compose project targets 'Windows'. 虽然它似乎是相当丰富的错误,我无法find'为Windowsconfiguration主机'