Tag: 泊坞窗

无法从Windows Server 2016主机到达Docker上的Apache

负责人:我是通用Webpipe理和Docker的新手。 我的错误可能是由一些非常愚蠢的东西造成的。 我正在运行Docker for Windows Server 2016(本机版本)。 我已经使用Nano Server和Apache 2.4(nanoserver / apache24)构build了一个简单的Docker基础镜像。 我从这个映像中创build了一个容器,并将容器端口80映射到本地端口8082。 从容器内部,我可以使用Invoke-WebRequest -uri http://localhost:80并检索默认的apache文档。 不过,我也希望容器外部的Invoke-WebRequest -uri http://localhost:8082能够检索同一个文件。 这不起作用。 我也试过使用容器的NAT地址,运行Invoke-WebRequest -uri http://172.23.58.7:8082 。 这也不工作。 我在这里configuration错了什么? 从我下面的过程截图。 主机左侧的PowerShell,右侧的PowerShell里面的容器。 编辑:@Grimmy在评论部分问我在我的Dockerfile中是否有EXPOSE 80和docker docker ps命令是否显示我的容器与预期的端口映射。 这两个都是肯定的。 我的容器使用参数-d -it运行,因为这是对容器在启动后立即退出的问题的快速Google修复。 我知道-i “保持STDIN开放”和-t “分配伪tty”,但我坦率地不明白这些暗示或者是否与问题有关。 编辑2:我没有在原始文章中明确提到这一点,但值得注意的是, netstat -a -o不显示端口8082上的PID监听。我期望这是事实。 应该是这样吗? 截图中显示前50行左右的输出。

设置USER后,无法连接到docker容器中的nodejs服务器

我有一个Dockerfile,以root身份运行时工作正常。 如果我添加一个非特权用户,它将运行: docker ps (我改变了容器名称) f63a4ae42ba9 nonroot "sh /app/docker-st…" 16 minutes ago Up 16 minutes 0.0.0.0:3002->3002/tcp nonroot 4bd547b40246 root "sh /app/docker-st…" 3 hours ago Up 3 hours 0.0.0.0:3003->3002/tcp root 但是我没有得到服务器响应。 看起来它可以连接。 wget http://localhost:3002/stats –2017-07-20 14:40:27– http://localhost:3002/stats Resolving localhost… ::1, 127.0.0.1 Connecting to localhost|::1|:3002… connected. HTTP request sent, awaiting response… No data received. Retrying. 以root身份运行的容器工作正常: wget […]

在Windows上的Docker – 生成不工作

我在Windows 10企业版。 拥有16 GB RAM和英特尔酷睿i7处理器。 我已经安装了最新版本的windows版本(17.06)。 当我尝试执行下面的命令时,它只是失败。 docker build -t myiis:v1 . 当前的工作目录有一个dockerfile,内容如下: FROM microsoft/iis SHELL ["powershell"] COPY MyWebsite MyWebsite EXPOSE 8081 RUN powershell New-Website -Name 'my-app' -Port 8081 -PhysicalPath 'c:\MyWebsite' -ApplicationPool 'MyWebsite' 上述构build的错误代码片段: PS C:\VisualStudio> docker build -t myiis:v1 . Sending build context to Docker daemon 25.73MB Step 1/6 : FROM microsoft/iis —> 52a0c31aaa72 […]

为什么我无法将我的文件复制到docker集装箱?

我试图将我的文件移动到一个Apache图像的htdocs文件夹。 她是我的dockerfile的样子: FROM httpd:2.4 MAINTAINER Ankit COPY ./public-html/ /usr/local/apache2/htdocs/ 但是COPY命令没有将文件复制到容器中。 这里的输出 – index.html是默认的,我想要复制的是公共html文件夹: root@8453b6ffa6fd:/usr/local/apache2/htdocs# ls index.html 有什么我失踪? 更新:公共html文件夹不被复制,但文件index.html被复制在那里,这种行为的原因是什么? UPDATE2:这是我最新的dockerfile,命令来build立和运行容器。 Dockerfile: FROM httpd:2.4 MAINTAINER Ankit COPY public-html/ /usr/local/apache2/htdocs/public-html/ docker build -f Dockerfile -t apache . docker run -d –name apws -v /Users/ankitsahu/workspace/docker_practi ce/public-html:/usr/local/apache2/htdocs/ -p 80:80 apache 当我使用exec命令检查内容: root@b54e53a231b7:/usr/local/apache2/htdocs# ls -a . .. index.html sample.html try

为什么nodejs请求调用两次

我正在开发Node+ ansible模块,我需要通过ansible script来build立mysql docker镜像。 当我build立图像请求多次调用,如果请求get second time browser去connection was reset 。 注意:如果第二次请求完美地构build图像。 首先要求问题,同时浏览器去connection was reset. 我做了什么: mysql.js: var express = require('express'); var path = require('path'); var favicon = require('serve-favicon'); var logger = require('morgan'); var bodyParser = require('body-parser'); var app = express(); var Ansible = require('node-ansible'); var yaml = require('node-yaml'); var timeout = require('infinite-timeout'); // view […]

使用Docker容器运行Joomla 1.x网站

我有安装了Nginx + PHP7 + MySQL的Ubuntu 16.04(主机)和安装了PHP-FPM 5.6的Docker容器(docker)。 我想让我的Joomla 1.x网站在Docker容器中运行PHP-FPM 5.6,但是使用主机的Nginx作为反向代理和主机的MySQL。 我应该在哪里把PHP和静态(HTML,js,png …)文件放在这个configuration中?

在Docker Swarm中连续部署数据库

我正忙于为我的移动应用程序开发API,现在正在考虑部署后端解决scheme。 这些组件相当简单:nginx,.NET核心应用程序和postgresql持久性。 如果我需要快速扩展,我想首先在一个节点上开始使用Docker Swarm。 为Postgresql提供一个单独的数据卷看起来是一条可行的路线,但是我无法find有关升级和数据库迁移的任何build议。 当我需要升级Postgresql映像(不需要pg_upgrade的小升级)时,这是否必须是手动操作,还是可以通过滚动升级来pipe理? 要求将是在这种情况发生时closures所有应用程序实例。 同样,如何pipe理数据库迁移,例如静态数据/模式更改? 我将需要所有的应用程序实例退出,完成迁移,然后重新启动。 任何想法不胜感激。

docker与MSSQL服务器

我有疑问在SQL服务器与docker。 如果我有多个MS SQL数据库容器正在我的主机中运行,并且它被具有负载平衡的相同应用程序访问。 数据库将如何在容器中复制(Live)。 我们可以使用SQL复制为此。 请在此build议。 我是新来的 。 问候,Karthick V

从Docker容器提供WordPress静态文件

我有一个WordPress的Docker容器,并使用nginx作为主机上的反向代理。 WP容器在端口32776上为WordPress提供服务,我的nginxconfiguration在主机上是这样的: nginxconfiguration(主机) map $http_upgrade $connection_upgrade { default upgrade; '' close; } server { … location /blog { proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://127.0.0.1:32776; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $connection_upgrade; } … } nginxconfigurationINSIDE Docker server { listen 0.0.0.0:80 default_server; listen [::]:80 default_server; root /var/www/html; # Add index.php […]

Docker alpine vm,访问主机的/ etc / hosts文件configuration

在主机的/ etc / hosts文件中定义的configuration无法访问docker alpine vm(在OSX环境中)。 以下示例是我的主机/ etc / hosts文件 10.4.1.4 dockerregistry.senz.local 如果我通过下面的命令连接到高山vm,并尝试访问dockerregistry.senz.local它不会工作 # connects to alpine vm screen ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/tty 在以前基于boot2docker的docker中,我们可以使boot2docker通过natdnshostresolver1访问主机configuration VBoxManage modifyvm "boot2docker-vm" — natdnshostresolver1 on 由于高山vm无法访问主机的/ etc / hostsconfiguration,当我试图从私人dockerregistry(它被configuration为不安全的registry)的图像,它会给出一个错误 docker pull dockerreigstry.senz.local/cassandra:0.1 由于以下错误而失败 在192.168.65.1:53上查找dockerregistry.senz.local:读取udp 192.168.65.2:41659->192.168.65.1:53:I / O超时 如果我将条目10.4.1.4 dockerregistry.senz.local添加到docker alpine vm的/ etc / hosts文件中,可以成功地拖出图像