Tag: docker compose

Docker不会将文件更改从主机传播到容器

我打算configuration泊坞窗,以便当我修改主机上的一个文件的变化是在容器文件系统内传播。 你可以把这看作服务器端节点代码的热重载。 nodemon文件观察器应该重新启动服务器以响应文件更改。 但是,当我使用docker exec pokerspace_express_1 bash检查容器时,主机卷上的这些文件更改似乎没有反映在容器中,并检查修改后的文件,这些更改不会从容器传播到主机中。 Dockerfile FROM node:8 MAINTAINER therewillbecode # Create app directory WORKDIR src/app RUN npm install nodemon -g # Install app dependencies COPY package.json . # For npm@5 or later, copy package-lock.json as well # COPY package.json package-lock.json ./ RUN npm install CMD [ "npm", "start" ] 泊坞窗,compose.yml version: '2' […]

未知的proxy_cache_keyvariables错误

当我用Docker Compose启动一个NGINX容器时,出现以下错误: nginx: [emerg] unknown "proxy_cache_key" variable 这些是我的nginx.conf中的代理cachingconfiguration proxy_cache_path /tmp/proxycache/ levels=1:2 keys_zone=proxy:512m max_size={{ PROXY_CACHE_SIZE|default('10g') }} inactive=48h; proxy_cache_path /tmp/pbcache/ levels=1:2 keys_zone=pb:512m max_size={{ PB_CACHE_SIZE|default('10g') }} inactive=48h; proxy_cache_key "$proxy_cache_key"; 在应用程序中有几个set proxy_cache_key的实例,如下所示: set $proxy_cache_key 2017$request_method$request_uri; 为什么这些setconfiguration不工作? 谢谢!

Docker-Compose中唯一的ID参数

我正在努力实现的 当我启动docker-compose.yml我可以启动一个具有唯一ID作为参数docker-compose.yml zabbix-agent容器。 到目前为止,我已经尝试过 我创build了以下configuration: ZABBIX: 图片:zabbix / zabbix-agent:高山树干 端口: – “10050:10050” 特权:真实 重新启动:除非停止 环境: – ZBX_HOSTNAME =“$ MY_ARG” – ZBX_SERVER_HOST =“$ MY_SERVER” 现在我试图找出是否有一种方法来启动脚本来在内部填充$MY_ARG 。 可能的解决方法 只需在脚本中启动docker-compose up即可添加参数并在内部读取它们: … # a script running before the docker-compose command: export DIST=`grep -Po "^[A-Za-z]*" /etc/issue` unique_id=$(case $DIST in Ubuntu) dmidecode -s baseboard-serial-number | tail -1 ;; Raspbian) awk […]

如何在交互模式下运行docker-compose容器,以便其他容器可以看到它?

场景:我在代码中设置了一个断点,它被挂载(作为一个卷)到由docker-compose创build的容器中。 代码是一个odoo模块,所以它是odoo容器的一部分。 还有一个webapp容器,它有一个链接到odoo为了使用API​​。 odoo容器不公开API端口,因为主机不需要它; webapp容器当然可以看到它。 services: odoo: volumes: – localpath:/mnt/extra-addons-bundles webapp: links: – odoo 当然,断点的目的是让我控制应用程序 – 所以我需要一个TTY附加。 我可以用docker-compose run –rm odoo 。 但是,当我这样做的时候,它会创build一个新的容器,所以Web应用程序从来没有真正击中它。 另外,它并不告诉我新的容器是什么,所以我必须手动弄明白这一点。 我可以使用docker docker exec在odoo容器中运行另一个odoo,但是必须在新的端口上运行它,从而将webappconfiguration更改为使用这个新的实例。 有没有办法实现我想要的,即以交互模式运行odoo容器,以便webapp容器可以看到它,而不需要重新configurationwebapp容器?

在Docker for Mac中使用主机networking是否有解决方法?

由于Docker for Mac不使用Virtualbox,而是使用xhyve,因此使用network_mode: host或–network host访问我的mac的networking(专门用于VPN和networking连接的设备)没有直接的方法。 我search和search,但没有find简单的解决方法。 我已经想出了最好的解决scheme是运行一个Linux虚拟机,然后安装docker,然后在那里执行docker-compose up或docker run 。 根本不理想。

将本地Docker WP网站暴露给networking和互联网

我有一个问题,我似乎无法expression清楚,find答案。 问题: 我想将我的本地10-up本地WP泊坞窗网站公开给我的networking(这样当人们在我的LAN上时,人们可以帮我login和写信),并且还有一个隧道,以便我可以发送一个链接到有人通过互联网,所以他们可以查看网站的批准等我宁愿不经过一个阶段环境,如果我不必。 我的想法 当我最初进入Docker的时候,我不记得我在看什么video,但是我运行了一个特定的命令(如docker -p 80:8080),这些命令暴露了这些端口,以便我的networking上的所有计算机都能查看网站。 现在我正在使用一个Docker镜像(10-up WP-Local Docker镜像https://github.com/10up/wp-local-docker ),它使用了docker-compose.yml文件,各种所需的容器。 我不能为了我的生活而弄清楚如何恢复到以前的状态。 我敢肯定有一些东西我可以放在docker-compose文件中,它会自动执行此操作,我确定有一些程序或软件包可以安装,这将创build一个隧道,我可以用它来显示我的网站互联网。 我基本上只需要一个正确的方向。 提前致谢!

Docker – Permission denied to connect to socket with nginx

我运行docker与2服务:nginx和一个烧瓶应用程序的fcgisockets。 当nginx试图连接到它给以下sockets: [暴击] 7#7:* 1 connect()unix:/usr/src/app/flaskapp-fcgi.sock失败(13:权限被拒绝) docker工人,compose.yml: version: "3" services: app: build: app/ volumes: – app-volume:/usr/src/app http_proxy: build: nginx/ ports: – '80:80' – '443:433' depends_on: – app volumes: – app-volume:/usr/src/app restart: always volumes: app-volume: Dockerfile nginx: FROM nginx COPY nginx.conf /etc/nginx/nginx.conf Dockerfile应用程序: FROM python:3.6.2-onbuild CMD ["python", "app.fcgi"] app.fcgi: #!/usr/bin/env python3 from flup.server.fcgi import WSGIServer #flask […]

NGINX子域在Docker环境中redirect?

我的应用程序在一个Docker容器中包含Rails应用程序,在另一个中包含NGINX反向代理。 我有一个用例,我需要redirect一个链接: https://signup.mydomain.com/abc123f 至 https://api.mydomain.com/v1/link/abc123f 在我的本地docker-compose环境中,我希望能够访问http://signup.myapp/abc123f并将其redirect到http:// myapp / link / abc123f 。 这是我的nginxconfiguration文件: # This is included into an `http` block in the main nginx.conf gzip on; gzip_http_version 1.0; gzip_proxied any; gzip_disable "msie6"; gzip_types text/plain text/xml text/css text/comma-separated-values application/json; upstream origin_server { server ${ORIGIN_HOST}:${ORIGIN_PORT}; } server { listen 80; server_name signup.$host; return 301 http://$host/; } […]

如何使用docker-compose.yml为elasticsearch.yaml文件设置network.publish_host

我想在docker-compose.yml文件中为network.publish_host设置环境variables。 在这里,我不能设置docker-compose.yml文件中的network.publish_host在我的例子中,我运行一个elasticsearch集群在不同的docker主机。但是当我试图设置network.publish_host环境iam无法设置。它需要默认值为172.18.0.2,但我的期望是得到像192.168.1.22 这是我的docker-compose.yml文件 version: '2' services: elasticsearch1: image: bitnami/elasticsearch:latest environment: – ELASTICSEARCH_CLUSTER_NAME=docker-cluster – network.publish_host=192.168.1.22 – discovery.zen.ping.multicast.enabled=false – ELASTICSEARCH_CLUSTER_HOSTS=192.168.1.23 – discovery.zen.ping.timeout=3s – ELASTICSEARCH_NODE_NAME=elastic-node1 volumes: – ~/elasticsearch/data:/bitnami ports: – '9200:9200' – '9300:9300' 请帮忙解决这个问题enter code here

Docker卷映射错误与Windows容器的Mac上

我目前正在运行https://github.com/StefanScherer/docker-windows-box ,基本上是一个VirtualBox托pipe的Windows docker-machine。 一切似乎工作正常,但我似乎无法弄清楚如何将卷从Mac映射到Windows容器? 具体来说,我正在尝试使用microsoft / mssql-server-windows-developer volumes: – ./data/:c:/data 在docker-compose.yml文件中,但它是投掷无效的卷规格“C”:无效的卷规格:'c' 任何人有任何想法,我怎么可以将卷从Mac映射到Windows?