Введение
Представьте сцену, установленную в 19 веке, в эпоху Виктории, где участники играют рольmediumа. Фон - это таинственный Викторианский особняк, и цельmediumа - вызвать духов из заграницы, раскрыв секреты докеризованных контейнеров.
Исследуйте порты 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
Тестирование с пользовательским портом
На этом шаге вы запустите нативное приложение Python внутри Docker-контейнера и откроете пользовательский порт.
Начните с создания простого приложения Python в файле с именем app.py:
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
После запуска контейнера проверьте, можно ли получить доступ к приложению, добавив сопоставление веб-сервиса в верхнем меню и посетив URL-адрес.
Резюме
В этом практическом занятии участники отправились в путешествие по изучению и пониманию того, как перечислять порты контейнеров в Docker. Создавая и проверяя порты Docker-контейнеров, они приобрели ценные знания о сетевых возможностях Docker-контейнеров, что позволяет им лучше управлять и устранять неполадки при развертывании контейнеров.



