所以,我有一个需要连接到远程机器上的Redis实例的应用程序的Docker容器。 从Docker容器或Docker主机没有直接连接到该Redis主机,但是我可以build立从Docker主机到该Redis框的端口转发。 在Docker主机上build立端口转发:ssh -L 8810:REDIS_HOST:6379 someUser @ someHost Docker Container(App) – >请求到localhost:8810或DOCKER_HOST_IP:8810 不会转发到REDIS_HOST。 我是否需要修改DOCKER_HOST端口转发或它的主机文件,使其工作?
我有一个运行node.js应用程序的docker容器。 从系统容器运行我可以做的事情,如… curl http://<IP address of my docker container>/users …. …和他们预期的JSON响应。 现在我已经在我的系统上安装了一个Apache Web服务器我有一些angular.js,我试图通信到泊坞窗容器上的REST API。 但是当然,Docker容器不能从我的networking上的其他主机访问。 有没有简单的方法来设置某种代理? 我有点熟悉HAProxy。 我可以设置HAProxy吗? 更新: 我开始我的docker容器,如下所示: [red@vm-red ~]$ sudo docker run -p 3000:8080 -t -i redsimage … 从主机vm-red上的命令行我可以执行此curl… [red@vm-red ~]$ curl -H "Content-Type: application/json" http://172.17.0.6:3000/user …并获得预期的结果。 但是,如果我使用我的笔记本电脑上的“邮递员”或笔记本电脑上的浏览器,并将它们指向http://vm-red:8080/user我什么也得不到。 我究竟做错了什么?
我有一个docker主机,它具有一个物理networking接口(eth0)和多个使用IP别名(eth0:1,eth0:2,eth0:3)分配给它的IP地址。 我想运行几个docker集装箱,使他们每个人都使用自己的IP地址拨打互联网的电话。 当从集装箱连接到集装箱时,它们最好在相同的IP上也可达到。 如何设置docker和iptables使其工作? 然后用什么参数来运行每个容器?
我想为我的docker服务器创build分区。 它只会托pipe有状态的应用程序,数据存储在/ srv / company / appname中。 我有两个硬盘: 20GB 2TB。 什么是创build分区的最佳方式? 是: 20GB "/" , 2TB "/srv"还是其他一些目录会随着时间而增长?
我遇到了一个问题,在我们的网站上进行滚动更新,该网站运行在我们集群的一个容器中,名为website-cluster。 该群集包含两个豆荚。 一个吊舱有一个容器,它运行我们的生产网站,另一个容器运行同一站点的分段版本。 以下是生产窗格的复制控制器的yaml: apiVersion: v1 kind: ReplicationController metadata: # These labels describe the replication controller labels: project: "website-prod" tier: "front-end" name: "website" name: "website" spec: # specification of the RC's contents replicas: 1 selector: # These labels indicate which pods the replication controller manages project: "website-prod" tier: "front-end" name: "website" template: metadata: labels: # […]
即使我改变了root指令指向/var/www/html ,nginx也试图从/var/www加载文件作为我的根目录。 我已经重新启动nginx,并在更改default.conf后收到“确定”。 难道我做错了什么? 值得一提的是,这个nginx服务器正在Docker容器中运行。 ================================== /etc/nginx/nginx.conf user www-data; worker_processes 4; pid /run/nginx.pid; events { worker_connections 768; # multi_accept on; } http { ## # Basic Settings ## sendfile off; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; types_hash_max_size 2048; # server_tokens off; # server_names_hash_bucket_size 64; # server_name_in_redirect off; include /etc/nginx/mime.types; default_type application/octet-stream; ## # Logging Settings […]
我正在使用Weave Net将Docker容器连接到不同的主机。 Weave正在利用“Fast Datapath”处理内核空间中的路由(在OVS(Open vSwitch)模块内部,如下图所示)。 为了更好地理解Weave路由stream量,我希望看到OVS模块的路由条目。 有像ovs-vsctl show这样的命令ovs-vsctl show “打印数据库内容的简要概述”,但是这不起作用。 看起来像Weave正在运行自己的OVS实例,这个实例不能用这个命令访问。 我也尝试过检查织物 weave status [targets | connections | peers | dns | ipam] 命令,但没有显示任何详细的路由信息。 那么,有没有人知道如何看到组织用来决定将数据包路由到某个docker集装箱的路由表?
这是我的Dockerfile: FROM php:5.5-apache COPY sites-enabled.tgz /root/sites-enabled.tgz RUN cd /etc/apache2/sites-enabled && \ tar xvf /root/sites-enabled.tgz 我有一些需要configuration的网站,我想最简单的方法来configuration它们只是复制站点的configuration文件到适当的目录。 不幸的是我无法做到这一点。 我做docker build -t mywebsite . 然后docker run -d mywebsite 。 这两个命令似乎运行得很好。 最后一个给我一个hex编码的string。 但是,当我做docker ps我没有看到任何机器运行。 通常,启用网站的文件是符合链接到站点的可用文件。 idk,如果在每种情况下都是这样,但是如果是这样的话,似乎可能需要复制站点 – 可用站点。 例如。 FROM php:5.5-apache COPY sites-available.tgz /root/sites-available.tgz COPY sites-enabled.tgz /root/sites-enabled.tgz RUN cd /etc/apache2/sites-available && \ tar xvf /root/sites-available.tgz RUN cd /etc/apache2/sites-enabled && […]
我有一个运行在官方mysql容器( https://registry.hub.docker.com/_/mysql/ )上的docker 1.6.0的debian服务器。 我使用一个相当基本的防火墙configuration,其中所有端口都closures,除了SSH,HTTP和NTP( http://pastebin.com/raw.php?i=dFUcJWxy )。 当我尝试连接到我的mysql数据库时: mysql -u root -h 172.17.0.3 -p 我收到以下错误信息: ERROR 2003 (HY000): Can't connect to MySQL server on '172.17.0.3' (110) 端口3306被过滤: nmap -p 3306 172.17.0.3 PORT STATE SERVICE 3306/tcp filtered mysql …当我打开主机上的端口3306我可以访问到MySQL服务器。 如何在不打开主机端口3306的情况下访问mysql服务器容器? 进一步的信息可以帮助: 启动容器的任务非常简单: – name: Mysql container docker: name: mysql image: mysql:5.7 state: started volumes: – /var/container_data/mysql:/var/lib/mysql […]
我将nginx-proxy设置为运行应用程序服务器的Docker容器前面的反向代理。 它们在单独的Docker组合定义中定义。 出于某种原因,我得到了一个503 ,但我不知道为什么,我已经详细了解了nginx-proxy文档。 (我也打开这个作为github问题的nginx-proxy 。) 应用程序服务器最初为https提供了443的10443主机。 我切换到服务HTTP 80 10443暴露在主机上。 我可以从应用服务器直接curl,但通过nginx-proxy卷发抛出一个错误 我最初在443有nginx-proxy,但现在我把它换成了80 。 直到我添加default.crt和default.key ,我得到一个连接拒绝错误。 join后,我得到了503 。 curl http://foo.example.com:80/apidocs –verbose –insecure * Hostname was NOT found in DNS cache * Trying 10.xxx.. * Connected to foo.example.com (10.xxx) port 80 (#0) > GET /apidocs HTTP/1.1 > User-Agent: curl/7.35.0 > Host: foo.example.com > Accept: */* > < […]