Tag: docker compose

如何在Docker上使用不同的端口作为nginx代理?

我有两个通过docker-compose运行的容器: version: '3' services: web: image: me/web container_name: web nginx: image: me/nginx container_name: nginx ports: – '80:80' volumes: – ../nginx:/etc/myapp/nginx 我的nginx容器从entrypoint.sh的映射卷中复制一个新的default.conf : #!/usr/bin/env bash cp /etc/myapp/nginx/default.conf /etc/nginx/conf.d/default.conf nginx -g 'daemon off;' 我的自定义的default.conf如下所示: server { listen 80; server_name my.website.com; location / { proxy_pass http://web/; } } 有了这个configuration,一切都按预期工作。 在用docker-compose开始之后,我可以导航到http://my.website.com并正确访问web容器实例。 但是,现在我想将端口更改为默认值80以外的值,例如81 : services: .. nginx: image: me/nginx container_name: […]

docker-elk – 如何保持elasticsearch索引?

我只是要抓住Docker和docker-compose,试图为Elasticsearch创build一个开发环境,我将在稍后部署。 我一直在使用docker-elk作为参考,并且设法创build了一个工作的Elasticsearch容器,将其种子,并在我的项目中使用它。 据我了解,除非您使用Volumes API并在容器访问( 在此处阅读)之外创build一个容器,否则Docker容器不会持久化数据。 然而docker-elk只使用卷来共享一个configurationyml文件,但不知何故,当我重新启动容器时,我的弹性索引仍然存在。 从docker麋鹿自述: 存储在Elasticsearch中的数据将在容器重启后保留,但不会在容器移除后保留。 有人可以请解释下面的configuration是什么部分允许docker集装箱坚持索引? 泊坞窗,compose.yml version: '2' services: elasticsearch: build: context: build/elasticsearch/ volumes: – ./build/elasticsearch/config.yml:/usr/share/elasticsearch/config/elasticsearch.yml:ro ports: – "9200:9200" – "9300:9300" environment: ES_JAVA_OPTS: "-Xmx256m -Xms256m" networks: – elk networks: elk: driver: bridge build立/ elasticsearch / Dockerfile FROM docker.elastic.co/elasticsearch/elasticsearch-oss:6.0.0 build立/ elasticsearch / config.yml cluster.name: "docker-cluster" network.host: 0.0.0.0 discovery.zen.minimum_master_nodes: 1 discovery.type: single-node

Docker与.NET Core无法联系

林新的Docker和即时尝试设置2个容器,一个运行mongoDB和一个运行的Web应用程序。 问题是我无法通过localhost:5000或0.0.0.0:5000访问我的.NET核心应用程序。 Mongo运行良好。 这是我的docker-compose.yml version: '3' services: web: build: . ports: – "5000:5000" mongo: build: ../../../docker/wishare-mongo/ volumes: – ../../../docker/wishare-mongo:/data/db ports: – "27017:27017" 用于.NET Core应用程序的Dockerfile FROM microsoft/aspnetcore-build:2.0 AS build-env WORKDIR /app ENV ASPNETCORE_URLS="http://*:5000" # Copy csproj and restore as distinct layers COPY *.csproj ./ RUN dotnet restore # Copy everything else and build COPY . ./ […]

当通过Docker-compose运行时,Nginx无法find上游节点应用程序

我有一个超级简单的Node应用程序和一个Nginxconfiguration,它充当Node应用程序的反向代理。 如果我在本地运行Nginx(通过自制软件)和Node应用程序,一切正常。 如果我访问由端口8080上的Nginxconfiguration所定义的服务器,我将从端口3000上运行的节点应用程序获得输出。 我一直在试图将这个简单的设置转换为使用Docker,并写下了以下Docker-compose文件: version: '3.0' services: web: build: . ports: – 3000:3000 nginx: build: context: . dockerfile: Dockerfile.nginx ports: – 8080:8080 在运行docker-compose up构build图像,并在控制台中没有错误消息。 在访问localhost:3000我得到的节点应用程序的响应,但访问localhost:8080我得到一个Nginx的502错误页面,并在terminal中出现以下错误: connect()失败(111:连接被拒绝)连接到上游时,客户端:172.18.0.1,服务器:localhost,请求:“GET / HTTP / 1.1”,上游:“ http://127.0.0.1:3000/ ”,主机:“localhost:8080” 我节点应用程序的Dockerfile如下所示: FROM node:carbon WORKDIR /app ADD . /app RUN npm install CMD ["node", "."] EXPOSE 3000 和Dockerfile.nginx看起来像这样: FROM nginx COPY nginx.conf /etc/nginx/nginx.conf 和nginx.conf看起来像这样: […]

在Docker中使用docker-compose运行laravel / lumen

我正在学习微服务架构,我想设置一个简单的stream明应用程序,使用docker-compose在3个独立的容器中运行 networking – 这将运行我的nginx前端服务器 应用程序 – 这将运行我的PHP-FPM 数据库 – 这将运行我的MySQL服务器 这是我的docker-compose.yml version: '2' services: # The Web Server web: build: context: ./ dockerfile: ./deploy/web.dockerfile working_dir: /var/www volumes_from: – app ports: – 8080:80 depends_on: – app # The Application app: build: context: ./ dockerfile: ./deploy/app.dockerfile working_dir: /var/www volumes: – ./:/var/www environment: – "DB_PORT=3306" – "DB_HOST=database" # […]

使用docker和docker-compose来运行npm install和bower install

我正在尝试使用docker和节点映像来运行npm install和bower install 。 这里是我docker-compose.yml的相关部分: node: image: node:0.10.40 volumes: – ./package.json:/package.json – .bowerrc:/.bowerrc – ./bower.json:/bower.json – ./build/npm.tmp/node_modules:/node_modules – ./build/npm.tmp/bignibou-client/src/bower_components:/bignibou-client/src/bower_components command: bash -c "npm install && bower install" ports: – "8888:8888" 不幸的是我从节点得到以下错误: node_1 | bash: bower: command not found bignibousite_node_1 exited with code 127 指示命令没有正确解释。 我也尝试在我的package.json中使用post-script,如下所示: "scripts": { "postinstall": "/node_modules/bower/bin/bower install" } 这是我的.bowerrc : { "json": […]

将容器IP跨容器传递给configuration文件

我是Docker的新手,正在尝试基于Docker的HUB镜像创build两个容器,一个用于MySQL,一个用于Node.js应用。 我想将我的节点应用程序连接到MySQL主机。 为此,我打算通过我的config.yaml(由node-config使用)中的环境variables来存储关于该主机的信息,以备后用。 我的问题是:我怎么能通过MySQL容器的IP地址到我的node.js应用程序? 它是dynamic的归属,我隐约知道我可以检索它作为docker inspect $(docker ps -q) | grep '"IPAddress"' docker inspect $(docker ps -q) | grep '"IPAddress"' ,这可能是一个线索? Docker-compose.yml: mysql: image: mysql:5.6 environment: – MYSQL_ROOT_PASSWORD=**** – MYSQL_DATABASE=database – MYSQL_USER=user – MYSQL_PASSWORD=**** volumes: – /data/mysql:/var/lib/mysql nodeapp: build: . environment: – MYSQL_USER=^^^^^ // will mirror the value up there, and so on – … […]

为什么nginx在向链接的docker容器做`uwsgi_pass`时返回502?

我使用Docker Compose编排由Django Web应用程序和nginx反向代理组成的多容器应用程序。 我正在盯着一个简单的testing案例,但我已经遇到了障碍。 应用程序应通过uwsgi_pass通过networking套接字( frontend:8000 )将所有的请求传递给Django应用程序。 但是,在启动docker-compose up的应用程序并且看到没有错误消息后,任何请求/在控制台中产生以下错误消息: gateway_1 | 2016/01/11 15:45:12 [error] 8#0: *1 connect() failed (111: Connection refused) while connecting to upstream, client: 192.168.99.1, server: localhost, request: "GET / HTTP/1.1", upstream: "uwsgi://172.17.0.2:8000", host: "192.168.99.100:8000" gateway_1 | 2016/01/11 15:45:12 [error] 8#0: *1 connect() failed (111: Connection refused) while connecting to upstream, client: 192.168.99.1, […]

无法通过端口9092连接到Kafka

我在kafka中创build了replica = 2的主题,而kafka正在我的docker机器中运行。 通常情况下,我应该能够连接到docker与端口9092.但我不能 虽然,我可以连接使用32783.不知道是什么原因?

WordPress无法在IBM Bluemix上看到与Docker组合的链接的MySQL容器

我有一个简单的docker-compose.yml(wp映像基于ibmjstart / wp-bluemix-container,db映像是mariadb) db: image: registry.eu-gb.bluemix.net/foo/db environment: MYSQL_ROOT_PASSWORD: examplepass ports: – 3306:3306 volumes: – /var/lib/mysql wp: image: registry.eu-gb.bluemix.net/foo/wp links: – db:mysql ports: – 80:80 执行docker compose up -d我得到了 error: missing WORDPRESS_DB_HOST and MYSQL_PORT_3306_TCP environment variables Did you forget to –link some_mysql_container:mysql or set an external db with -e WORDPRESS_DB_HOST=hostname:port? 正如你所看到的,db容器是链接的。 当我没有docker-compose的时候,使用 $ cf ic run […]