Can';Don’不要让车辆进入docker集装箱

Can';Don’不要让车辆进入docker集装箱,docker,docker-compose,dockerfile,centos7,Docker,Docker Compose,Dockerfile,Centos7,我试图在docker中运行一个Web服务器,我读到的所有内容都说要在docker文件中添加“EXPOSE 5000”,并在docker compose文件中添加端口 我知道Web服务器正在运行,因为我可以在容器内使用lynx进行连接,然后转到。在容器内,一切正常 当我试图从主机系统上的容器外部访问它时,我运行了tcpdump,没有看到任何流量进入容器 docker-compose.yml: version: '3' services: web: build: . ports:

我试图在docker中运行一个Web服务器,我读到的所有内容都说要在docker文件中添加“EXPOSE 5000”,并在docker compose文件中添加端口

我知道Web服务器正在运行,因为我可以在容器内使用lynx进行连接,然后转到。在容器内,一切正常

当我试图从主机系统上的容器外部访问它时,我运行了tcpdump,没有看到任何流量进入容器

docker-compose.yml:

version: '3'
services:
  web:
    build: .
    ports:
     - "5000:5000"
    volumes:
     - ./code:/code
Dockerfile:

FROM scratch
ADD centos-7-docker.tar.xz /

LABEL org.label-schema.schema-version="1.0" \
    org.label-schema.name="CentOS Base Image" \
    org.label-schema.vendor="CentOS" \
    org.label-schema.license="GPLv2" \
    org.label-schema.build-date="20180804"

RUN yum clean all
RUN yum -y update

RUN yum install -y iputils gcc vim wget yum-utils groupinstall development lynx

#install Python 3.6
RUN yum install https://centos7.iuscommunity.org/ius-release.rpm -y
RUN yum install python36u -y
RUN yum install python36u-pip python36u-devel -y
RUN pip3.6 install --upgrade pip
#now you can run python as "python3.6 some_file.py" and pip as "pip3.6 <stuff>"


#install ms sql odbc driver for connecting to SQL Server
RUN curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/mssql-release.repo
RUN ACCEPT_EULA=Y yum install msodbcsql17 -y
# optional: for bcp and sqlcmd in /opt/mssql-tools/bin
RUN ACCEPT_EULA=Y yum install mssql-tools -y
# optional: for unixODBC development headers
RUN yum install unixODBC-devel -y

#install python's odbc driver
RUN yum install gcc-c++ -y
RUN pip3.6 install pyodbc

#mount volumes
ADD . /code
WORKDIR /code
EXPOSE 5000

#install Flask and other dependencies (must come after "/code" dir created)
RUN pip3.6 install -r /code/requirements.txt

#execute file
CMD python3.6 /code/app.py
如何从主机容器外部访问Web服务器


我应该补充一点,示例()在我的计算机上工作,因此我认为这不是我的Windows 10主机的配置问题。

您正在将flask服务器绑定到容器内的本地主机。将127.0.0.1更改为0.0.0.0,这将解决问题。

您正在将flask服务器绑定到容器内部的本地主机。将127.0.0.1更改为0.0.0.0,应该可以解决问题。

尝试更改您的IP地址

if __name__ == "__main__":
    app.run(host="0.0.0.0", port="5000", debug=True)

尝试更改您的IP地址

if __name__ == "__main__":
    app.run(host="0.0.0.0", port="5000", debug=True)