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