介绍
想象一个场景,背景设定在19世纪的维多利亚时代,参与者将扮演一位灵媒。故事发生在一座神秘的维多利亚式宅邸中,灵媒的目标是通过解锁Docker化容器的秘密,从彼岸召唤灵体。
想象一个场景,背景设定在19世纪的维多利亚时代,参与者将扮演一位灵媒。故事发生在一座神秘的维多利亚式宅邸中,灵媒的目标是通过解锁Docker化容器的秘密,从彼岸召唤灵体。
在这一步中,你将首先运行一个 Docker 容器,然后探索其暴露的端口。
首先,让我们运行一个简单的 Nginx 容器:
docker run -d -p 8080:80 --name my-nginx nginx
接下来,你将检查容器正在监听的端口:
docker port my-nginx
预期的输出应显示容器端口到主机端口的映射。
80/tcp - > 0.0.0.0:8080
80/tcp - > :::8080
在这一步中,你将在 Docker 容器中运行一个自定义的 Python 应用程序,并暴露一个自定义端口。
首先,在一个名为 app.py
的文件中创建一个简单的 Python 应用程序:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello, Docker!'
if __name__ == '__main__':
app.run(host="0.0.0.0", debug=True)
创建一个包含以下内容的 Dockerfile
,用于为 Python 应用程序构建镜像:
FROM python:3.8
WORKDIR /app
COPY . /app
RUN pip install flask
EXPOSE 5000
CMD ["python", "app.py"]
现在,构建 Docker 镜像,运行它并暴露自定义端口 5000,同时将暴露的端口映射到主机的 8081 端口:
docker build -t my-python-app .
docker run -itd -p 8081:5000 --name python-app my-python-app
容器运行后,通过在主菜单顶部添加一个 Web 服务映射并访问 URL 来测试应用程序是否可访问。
在本实验中,参与者踏上了一段探索和理解如何列出 Docker 容器端口的旅程。通过创建和检查 Docker 容器端口,他们深入了解了 Docker 容器的网络功能,从而能够更好地管理和排查容器部署问题。