簡體   English   中英

Docker未正確綁定Windows上的端口

[英]Docker is not correctly binding ports on windows

我開始將項目移至docker容器,以便能夠開發更多內容,而又不必過多依賴我使用的OS。

這是我運行容器的方式:

docker run -d -v "$(pwd)/app:/app" -v "/c/Users/Geoffrey/Projects/go:/go" --name "server" --link mysql:mysql -p 127.0.0.1:3000:3000 my/server:latest

很快,我的程序執行一個入口點,啟動我的go應用程序,監聽端口3000。

這是與此容器關聯的Dockerfile:

##
## Author: Geoffrey Bauduin <bauduin.geo@gmail.com>
##

## Use Ubuntu 14.04
FROM ubuntu:trusty

MAINTAINER Geoffrey Bauduin <bauduin.geo@gmail.com> 

ENV DEBIAN_FRONTEND noninteractive

RUN locale-gen en_US.UTF-8
ENV LANG en_US.UTF-8
ENV LANGUAGE en_US:en
ENV LC_ALL en_US.UTF-8

RUN echo "force-unsafe-io" > /etc/dpkg/dpkg.cfg.d/02apt-speedup
RUN echo "Acquire::http {No-Cache=True;};" > /etc/apt/apt.conf.d/no-cache

RUN echo $'#!/bin/sh\nexit 101' > /usr/sbin/policy-rc.d
RUN chmod +x /usr/sbin/policy-rc.d

## Installing gcc for go
RUN apt-get update && apt-get install -y --no-install-recommends \
        g++ \
        gcc \
        libc6-dev \
        make \
        wget \
        git \
        ca-certificates \
    && rm -rf /var/lib/apt/lists/*

ENV GOLANG_VERSION 1.5.3
ENV GOLANG_DOWNLOAD_URL http://storage.googleapis.com/golang/go1.5.3.linux-amd64.tar.gz

RUN wget "$GOLANG_DOWNLOAD_URL" \
    && tar -C /usr/local -xzf go1.5.3.linux-amd64.tar.gz \
    && rm go1.5.3.linux-amd64.tar.gz

ENV GOPATH /go
ENV PATH $GOPATH/bin:/usr/local/go/bin:$PATH

RUN mkdir -p "$GOPATH/src" "$GOPATH/bin" && chmod -R 777 "$GOPATH"

COPY entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh

ENTRYPOINT ["/bin/bash", "/entrypoint.sh"]

EXPOSE 3000

當我從Windows主機瀏覽http://localhost:3000 ,Chrome返回ERR_CONNECTION_REFUSED ,相同的內容是127.0.0.1 ,我的網絡地址(從ipconfig返回),甚至容器地址( docker inspect server | grep IPAddress )都顯示了同樣的錯誤信息。 但是,當我在容器中執行/bin/bash並執行curl localhost:3000 ,我可以看到服務器實際上正在預期的端口上運行。

有什么我想念的嗎? 就像為什么Docker為什么在不顯示任何錯誤消息的情況下無法在我的機器上綁定任何東西?

任何幫助將非常感激!

您應將-p 127.0.0.1:3000:3000更改為-p 3000:3000或使用-P代替它們。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM