<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>flask sqlalchemy - Python 3 | Data Science | Нейронные сети | AI - Искусственный Интеллект</title>
	<atom:link href="https://python.ivan-shamaev.ru/tag/flask-sqlalchemy/feed/" rel="self" type="application/rss+xml" />
	<link>https://python.ivan-shamaev.ru/tag/flask-sqlalchemy/</link>
	<description>Библиотеки обработки данных. Примеры. Строки, списки, файлы, числа, массивы. Язык программирования Python 3 - скачать</description>
	<lastBuildDate>Sun, 29 May 2022 05:53:39 +0000</lastBuildDate>
	<language>ru-RU</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.6.2</generator>

<image>
	<url>https://python.ivan-shamaev.ru/wp-content/uploads/2019/04/cropped-data_science_python3_logo-32x32.png</url>
	<title>flask sqlalchemy - Python 3 | Data Science | Нейронные сети | AI - Искусственный Интеллект</title>
	<link>https://python.ivan-shamaev.ru/tag/flask-sqlalchemy/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Создание Web-приложения Flask и деплой с помощью Docker Compose &#038; Dockerfile</title>
		<link>https://python.ivan-shamaev.ru/run-install-deploy-flask-web-app-docker-dockerfile-compose/</link>
					<comments>https://python.ivan-shamaev.ru/run-install-deploy-flask-web-app-docker-dockerfile-compose/#respond</comments>
		
		<dc:creator><![CDATA[Шамаев Иван]]></dc:creator>
		<pubDate>Sat, 23 Apr 2022 19:50:00 +0000</pubDate>
				<category><![CDATA[Введение в Python 3]]></category>
		<category><![CDATA[flask docker compose]]></category>
		<category><![CDATA[flask sqlalchemy]]></category>
		<category><![CDATA[python flask]]></category>
		<category><![CDATA[python flask app]]></category>
		<category><![CDATA[python flask build image]]></category>
		<category><![CDATA[python flask deploy]]></category>
		<category><![CDATA[python flask docker]]></category>
		<category><![CDATA[python flask dockerfile]]></category>
		<category><![CDATA[python flask web]]></category>
		<category><![CDATA[python flask приложение]]></category>
		<guid isPermaLink="false">https://python.ivan-shamaev.ru/?p=1602</guid>

					<description><![CDATA[<p>Краткое введение в Flask Flask — это удобный для начинающих веб-фреймворк с открытым исходным кодом, построенный на языке программирования Python. Flask подходит, если вы хотите быстро разработать приложение с легкой кодовой базой. Flask разрабатывает Армин Ронахер, возглавляющий международную группу энтузиастов Python под названием Pocco. Flask основан на наборе инструментов Werkzeug WSGI и механизме шаблонов Jinja2. [&#8230;]</p>
<p>Сообщение <a href="https://python.ivan-shamaev.ru/run-install-deploy-flask-web-app-docker-dockerfile-compose/">Создание Web-приложения Flask и деплой с помощью Docker Compose &#038; Dockerfile</a> появились сначала на <a href="https://python.ivan-shamaev.ru">Python 3 | Data Science | Нейронные сети | AI - Искусственный Интеллект</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><a class="a2a_button_telegram" href="https://www.addtoany.com/add_to/telegram?linkurl=https%3A%2F%2Fpython.ivan-shamaev.ru%2Frun-install-deploy-flask-web-app-docker-dockerfile-compose%2F&amp;linkname=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5%20Web-%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F%20Flask%20%D0%B8%20%D0%B4%D0%B5%D0%BF%D0%BB%D0%BE%D0%B9%20%D1%81%20%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E%20Docker%20Compose%20%26%20Dockerfile" title="Telegram" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_whatsapp" href="https://www.addtoany.com/add_to/whatsapp?linkurl=https%3A%2F%2Fpython.ivan-shamaev.ru%2Frun-install-deploy-flask-web-app-docker-dockerfile-compose%2F&amp;linkname=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5%20Web-%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F%20Flask%20%D0%B8%20%D0%B4%D0%B5%D0%BF%D0%BB%D0%BE%D0%B9%20%D1%81%20%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E%20Docker%20Compose%20%26%20Dockerfile" title="WhatsApp" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=https%3A%2F%2Fpython.ivan-shamaev.ru%2Frun-install-deploy-flask-web-app-docker-dockerfile-compose%2F&amp;linkname=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5%20Web-%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F%20Flask%20%D0%B8%20%D0%B4%D0%B5%D0%BF%D0%BB%D0%BE%D0%B9%20%D1%81%20%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E%20Docker%20Compose%20%26%20Dockerfile" title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_linkedin" href="https://www.addtoany.com/add_to/linkedin?linkurl=https%3A%2F%2Fpython.ivan-shamaev.ru%2Frun-install-deploy-flask-web-app-docker-dockerfile-compose%2F&amp;linkname=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5%20Web-%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F%20Flask%20%D0%B8%20%D0%B4%D0%B5%D0%BF%D0%BB%D0%BE%D0%B9%20%D1%81%20%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E%20Docker%20Compose%20%26%20Dockerfile" title="LinkedIn" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_vk" href="https://www.addtoany.com/add_to/vk?linkurl=https%3A%2F%2Fpython.ivan-shamaev.ru%2Frun-install-deploy-flask-web-app-docker-dockerfile-compose%2F&amp;linkname=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5%20Web-%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F%20Flask%20%D0%B8%20%D0%B4%D0%B5%D0%BF%D0%BB%D0%BE%D0%B9%20%D1%81%20%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E%20Docker%20Compose%20%26%20Dockerfile" title="VK" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_twitter" href="https://www.addtoany.com/add_to/twitter?linkurl=https%3A%2F%2Fpython.ivan-shamaev.ru%2Frun-install-deploy-flask-web-app-docker-dockerfile-compose%2F&amp;linkname=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5%20Web-%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F%20Flask%20%D0%B8%20%D0%B4%D0%B5%D0%BF%D0%BB%D0%BE%D0%B9%20%D1%81%20%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E%20Docker%20Compose%20%26%20Dockerfile" title="Twitter" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_email" href="https://www.addtoany.com/add_to/email?linkurl=https%3A%2F%2Fpython.ivan-shamaev.ru%2Frun-install-deploy-flask-web-app-docker-dockerfile-compose%2F&amp;linkname=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5%20Web-%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F%20Flask%20%D0%B8%20%D0%B4%D0%B5%D0%BF%D0%BB%D0%BE%D0%B9%20%D1%81%20%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E%20Docker%20Compose%20%26%20Dockerfile" title="Email" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=https%3A%2F%2Fpython.ivan-shamaev.ru%2Frun-install-deploy-flask-web-app-docker-dockerfile-compose%2F&#038;title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5%20Web-%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F%20Flask%20%D0%B8%20%D0%B4%D0%B5%D0%BF%D0%BB%D0%BE%D0%B9%20%D1%81%20%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E%20Docker%20Compose%20%26%20Dockerfile" data-a2a-url="https://python.ivan-shamaev.ru/run-install-deploy-flask-web-app-docker-dockerfile-compose/" data-a2a-title="Создание Web-приложения Flask и деплой с помощью Docker Compose &amp; Dockerfile"></a></p><h1>Краткое введение в Flask</h1>
<p><strong>Flask</strong> — это удобный для начинающих веб-фреймворк с открытым исходным кодом, построенный на языке программирования Python. Flask подходит, если вы хотите быстро разработать приложение с легкой кодовой базой.</p>
<p><strong>Flask</strong> разрабатывает Армин Ронахер, возглавляющий международную группу энтузиастов Python под названием Pocco. Flask основан на наборе инструментов <strong>Werkzeug WSGI</strong> и механизме шаблонов <strong>Jinja2</strong>. Оба являются <strong>проектами Pocco</strong>.</p>
<p>Интерфейс шлюза веб-сервера (WSGI) был принят в качестве стандарта для разработки веб-приложений Python. <strong>WSGI</strong> — это спецификация универсального интерфейса между веб-сервером и веб-приложениями.</p>
<p><strong>Jinja2</strong> — популярный движок шаблонов для Python. Система веб-шаблонов объединяет шаблон с определенным источником данных для отображения динамических веб-страниц.</p>
<h1>Что будет рассмотрено в статье &#171;Python Flask App &#8212; Docker &#8212; Tutorial&#187;</h1>
<p>В этой статье будет рассмотрено создание простого web-приложения Flask, build образа с помощью Dockerfile &amp; Docker, а также развертывание образа в контейнере с помощью Docker-Compose.</p>
<p><strong>Docker</strong> — это инструмент с открытым исходным кодом, который позволяет вам контейнеризовать ваши приложения. Он помогает создавать, тестировать, развертывать и управлять вашими приложениями в изолированной среде. В этой статье будут рассмотрены все шаги, кроме тестирования.</p>
<h1>Создание приложения Flask</h1>
<p>Давайте приступим к созданию простого приложения Flask, которое будет отображать сообщение в браузере.</p>
<p>Создадим папку с именем flask_docker для нашего приложения:</p>
<p><code class="EnlighterJSRAW" data-enlighter-language="generic">mkdir flask_docker</code></p>
<p>Переходим внутрь папки:</p>
<p><code class="EnlighterJSRAW" data-enlighter-language="generic">cd flask_docker</code></p>
<p>Если у Вас не установлена виртуальная среда venv, то необходимо ее исталлировать командой:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">sudo apt install python3.8-venv</pre>
<p>Далее создаем виртуальную среду myenv</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">python3 -m venv myenv</pre>
<p>Должна появиться директория myenv. Запускаем команду активации виртуальной среды:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">source myenv/bin/activate</pre>
<p>Внутри активированной виртуальной среды запускаем установку библиотеки Flask:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">pip install Flask</pre>
<p>После успешной установки Flask следующим шагом будет создание файла Python <strong>app.py</strong>, который будет получать запросы и отправлять ответы для нашего web-приложения. Для этого создадим директорию <strong>webapp</strong>:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">mkdir webapp

cd webapp</pre>
<p>Далее нам нужно в директории <strong>webapp</strong> создать файл файл <strong>app.py</strong> со следущим кодом внутри:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="python">from flask import Flask

app = Flask(__name__)

@app.route('/')
def home():
    return '&lt;h1&gt;Hello, World!&lt;/h1&gt;'

if __name__ == "__main__":
    app.run(debug=True, host='0.0.0.0', port=5000)</pre>
<p>В приведенном выше фрагменте кода аннотация служит для направления запроса на URL-адрес. В указанном примере URL-адрес представляет собой домашнюю страницу <code class="EnlighterJSRAW" data-enlighter-language="generic">@app.route/</code></p>
<p>Эта аннотация также имеет method параметр, который принимает список методов HTTP, чтобы указать разрешенный метод для заданного URL-адреса. По умолчанию (как показано) это GET метод, он является единственным разрешенным методом HTTP.</p>
<p>Вот пример того, как вы можете указать, что ваш маршрут должен разрешать оба метода GET и POST для запроса HTTP:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="python">@app.route('/', methods=['POST', 'GET'])</pre>
<p>Функция <code class="EnlighterJSRAW" data-enlighter-language="generic">home()</code>, связанная с URL-адресом, указанным в аннотации, будет выполняться при отправке запроса на этот маршрут. Функция возвращает строку текста <code class="EnlighterJSRAW" data-enlighter-language="generic">'&lt;h1&gt;Hello, World!&lt;/h1&gt;'</code>.</p>
<h2>Как создать Python requirement.txt файл для Docker</h2>
<p>Файл <code class="EnlighterJSRAW" data-enlighter-language="generic">requirement.txt</code> содержит список пакетов и зависимостей, необходимых для запуска вашего проекта, а также их соответствующие версии, требуемые для корректной работы приложения.</p>
<p>Внутри активированной venv выполните следующую команду в терминале:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">pip freeze &gt; requirements.txt</pre>
<p>Эта команда сгенерирует имена пакетов и их соответствующих версий, которые вы установили, а также некоторые другие встроенные зависимости, которые запускают ваше приложение Flask. Затем он сохраняет их в файле с именем requirements.txt</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">click==8.1.2
Flask==2.1.1
importlib-metadata==4.11.3
itsdangerous==2.1.2
Jinja2==3.1.1
MarkupSafe==2.1.1
Werkzeug==2.1.1
zipp==3.8.0</pre>
<p>В зависимости от сложности вашего проекта и установленных пакетов содержимое этого файла будет варьироваться от проекта к проекту.</p>
<p>Номера версий, сгенерированные в файле требований, могут отличаться от указанных здесь, потому что они зависят от типа приложения, которое вы создаете, и версий пакетов, которые вы установили при создании своего приложения.</p>
<p>Вы можете проверить, работает ли приложение, прежде чем приступить к его контейнеризации. Запустите эту команду на своем терминале в корневом каталоге:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">python app.py</pre>
<h2>Настройка Dockerfile для создания образа приложения Flask</h2>
<p>Создайте файл Dockerfile внутри webapp. Добавьте в файл следующий фрагмент кода:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic"># start by pulling the python image
FROM python:3.8-alpine

# copy the requirements file into the image
COPY ./requirements.txt /app/requirements.txt

# switch working directory
WORKDIR /app

# install the dependencies and packages in the requirements file
RUN pip install -r requirements.txt

# copy every content from the local file to the image
COPY . /app

# configure the container to run in an executed manner
ENTRYPOINT ["python"]

CMD ["app.py"]</pre>
<p>Давайте рассмотрим инструкции в этом Dockerfile:</p>
<ul>
<li><code class="EnlighterJSRAW" data-enlighter-language="generic">FROM python:3.8-alpine</code> &#8212; Поскольку Docker позволяет нам наследовать существующие образы, мы устанавливаем образ Python и устанавливаем его в наш образ Docker. Alpine &#8212; это легкий дистрибутив Linux, который будет служить ОС, на которую мы устанавливаем наш образ</li>
<li><code class="EnlighterJSRAW" data-enlighter-language="generic">COPY ./requirements.txt /app/requirements.txt</code><span style="font-size: 17px;"> &#8212; Здесь мы копируем requirements файл и его содержимое (сгенерированные пакеты и зависимости) в app папку образа.</span></li>
<li><code class="EnlighterJSRAW" data-enlighter-language="generic">WORKDIR /app</code><span style="font-size: 17px;"> &#8212; </span><span style="font-size: 17px;">мы приступаем к установке рабочего каталога как app, который будет корневым каталогом нашего приложения в контейнере.</span></li>
<li><code class="EnlighterJSRAW" data-enlighter-language="generic">RUN pip install -r requirements.txt</code><span style="font-size: 17px;"> &#8212; </span><span style="font-size: 17px;">эта команда устанавливает все зависимости, определенные в файле requirements.txt в наше приложение внутри контейнера.</span></li>
<li><code class="EnlighterJSRAW" data-enlighter-language="generic">COPY . /app</code><span style="font-size: 17px;"> &#8212; </span><span style="font-size: 17px;">это копирует все остальные файлы и их соответствующее содержимое в app папку, которая является корневым каталогом нашего приложения в контейнере.</span></li>
<li><code class="EnlighterJSRAW" data-enlighter-language="generic">ENTRYPOINT ["python"]</code><span style="font-size: 17px;"> &#8212; </span><span style="font-size: 17px;">это команда, которая запускает приложение в контейнере.</span></li>
<li><code class="EnlighterJSRAW" data-enlighter-language="generic">CMD ["app.py"]</code><span style="font-size: 17px;"> &#8212; </span><span style="font-size: 17px;">Наконец, это добавляет список параметров к EntryPoint параметру для выполнения команды, запускающей приложение. Это похоже на то, как вы запускаете приложение Python на своем терминале с помощью команды python app.py</span></li>
</ul>
<h2>Создадим образ (image) Docker</h2>
<p>Выйдем из активированной среды venv:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">deactivate</pre>
<p>Для этого необходимо в командном окне (не в активированной среде), запустить команду:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">sudo docker image build -t flask_docker .</pre>
<p>Точка в конце обязательна, не пропустите её.</p>
<h2>Запуск контейнера из образа в Docker</h2>
<p>После успешного билда образа необходимо запустить экземляр образа в Docker. Сделать это можно следующей командой:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">sudo docker run -p 5000:5000 -d flask_docker</pre>
<p>Эта команда запускает контейнер и его встроенное приложение, каждое из которых использует подход с привязкой к порту. Первая часть 5000 — это порт, который мы выделяем контейнеру на нашей машине. Второй 5000 — это порт, на котором приложение будет работать в контейнере.</p>
<p>Вот вывод нашего приложения, когда мы отправляем запрос в нашем браузере:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">localhost:5000</pre>
<h3>Предупреждение</h3>
<blockquote><p><span style="color: #0000ff;">WARNING: Running pip as the &#8216;root&#8217; user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv</span></p></blockquote>
<p>туду</p>
<h2>Развертывание Flask App, PostgreSQL, PGAdmin с помощью Docker-Compose</h2>
<p>Для создания приложения необходимо добавить базу данных postgresql, панель управления pgadmin, а также пропишем процесс сборки образа на основе нашего Dockerfile.</p>
<p><strong>Файл docker-compose.yml:</strong></p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">version: '3.9'

services:  
  flask_web:
    container_name: flask_web_container
    build: .
    ports:
      - 5000:5000
    restart: unless-stopped

  postgres:
    env_file: ./docker/.env-postgresql
    container_name: postgres_flask_container
    image: postgres:14
    volumes:
       - flaskdb:/var/lib/postgresql/data
    ports:
      - 5432:5432
    restart: unless-stopped
    networks:
      - backend
  
  pgadmin:
    container_name: pgadmin_container
    image: dpage/pgadmin4
    environment:
      PGADMIN_DEFAULT_EMAIL: ${PGADMIN_DEFAULT_EMAIL:-qlik@ivan-shamaev.ru}
      PGADMIN_DEFAULT_PASSWORD: ${PGADMIN_DEFAULT_PASSWORD:-A-&gt;V9&gt;pS6HJ~xY8d}
      PGADMIN_CONFIG_SERVER_MODE: 'False'
    volumes:
       - pgadmin:/var/lib/pgadmin
    ports:
      - "${PGADMIN_PORT:-5050}:80"
    restart: unless-stopped
    networks:
      - backend

volumes:
    flaskdb:
      driver: local
    pgadmin:
      driver: local

networks:
  backend:
    driver: bridge</pre>
<p><strong>Файл docker/.env-postgresql:</strong></p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic"># database engine specific environment variables
DATABASE_PORT=5432
DATABASE_DIALECT=postgresql
POSTGRES_DB=flaskdb
POSTGRES_USER=flaskuser
POSTGRES_PASSWORD=flaskpassword</pre>
<p>Доступ в pgadmin <a href="http://localhost:5050/browser/" target="_blank" rel="noopener" data-wplink-url-error="true">http://localhost:5050/browser/</a></p>
<h3>Скачать код первого этапа для развертывания flask приложения в docker</h3>
<p>Получить код пройденного этапа можно в github <a href="https://github.com/python-flask-app/deploy-python-flask-app-tutorial/tree/main/Example%201" target="_blank" rel="noopener">deploy-python-flask-app-tutorial/Example 1/</a>.</p>
<p><a class="a2a_button_telegram" href="https://www.addtoany.com/add_to/telegram?linkurl=https%3A%2F%2Fpython.ivan-shamaev.ru%2Frun-install-deploy-flask-web-app-docker-dockerfile-compose%2F&amp;linkname=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5%20Web-%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F%20Flask%20%D0%B8%20%D0%B4%D0%B5%D0%BF%D0%BB%D0%BE%D0%B9%20%D1%81%20%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E%20Docker%20Compose%20%26%20Dockerfile" title="Telegram" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_whatsapp" href="https://www.addtoany.com/add_to/whatsapp?linkurl=https%3A%2F%2Fpython.ivan-shamaev.ru%2Frun-install-deploy-flask-web-app-docker-dockerfile-compose%2F&amp;linkname=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5%20Web-%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F%20Flask%20%D0%B8%20%D0%B4%D0%B5%D0%BF%D0%BB%D0%BE%D0%B9%20%D1%81%20%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E%20Docker%20Compose%20%26%20Dockerfile" title="WhatsApp" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=https%3A%2F%2Fpython.ivan-shamaev.ru%2Frun-install-deploy-flask-web-app-docker-dockerfile-compose%2F&amp;linkname=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5%20Web-%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F%20Flask%20%D0%B8%20%D0%B4%D0%B5%D0%BF%D0%BB%D0%BE%D0%B9%20%D1%81%20%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E%20Docker%20Compose%20%26%20Dockerfile" title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_linkedin" href="https://www.addtoany.com/add_to/linkedin?linkurl=https%3A%2F%2Fpython.ivan-shamaev.ru%2Frun-install-deploy-flask-web-app-docker-dockerfile-compose%2F&amp;linkname=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5%20Web-%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F%20Flask%20%D0%B8%20%D0%B4%D0%B5%D0%BF%D0%BB%D0%BE%D0%B9%20%D1%81%20%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E%20Docker%20Compose%20%26%20Dockerfile" title="LinkedIn" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_vk" href="https://www.addtoany.com/add_to/vk?linkurl=https%3A%2F%2Fpython.ivan-shamaev.ru%2Frun-install-deploy-flask-web-app-docker-dockerfile-compose%2F&amp;linkname=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5%20Web-%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F%20Flask%20%D0%B8%20%D0%B4%D0%B5%D0%BF%D0%BB%D0%BE%D0%B9%20%D1%81%20%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E%20Docker%20Compose%20%26%20Dockerfile" title="VK" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_twitter" href="https://www.addtoany.com/add_to/twitter?linkurl=https%3A%2F%2Fpython.ivan-shamaev.ru%2Frun-install-deploy-flask-web-app-docker-dockerfile-compose%2F&amp;linkname=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5%20Web-%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F%20Flask%20%D0%B8%20%D0%B4%D0%B5%D0%BF%D0%BB%D0%BE%D0%B9%20%D1%81%20%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E%20Docker%20Compose%20%26%20Dockerfile" title="Twitter" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_email" href="https://www.addtoany.com/add_to/email?linkurl=https%3A%2F%2Fpython.ivan-shamaev.ru%2Frun-install-deploy-flask-web-app-docker-dockerfile-compose%2F&amp;linkname=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5%20Web-%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F%20Flask%20%D0%B8%20%D0%B4%D0%B5%D0%BF%D0%BB%D0%BE%D0%B9%20%D1%81%20%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E%20Docker%20Compose%20%26%20Dockerfile" title="Email" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=https%3A%2F%2Fpython.ivan-shamaev.ru%2Frun-install-deploy-flask-web-app-docker-dockerfile-compose%2F&#038;title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5%20Web-%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F%20Flask%20%D0%B8%20%D0%B4%D0%B5%D0%BF%D0%BB%D0%BE%D0%B9%20%D1%81%20%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E%20Docker%20Compose%20%26%20Dockerfile" data-a2a-url="https://python.ivan-shamaev.ru/run-install-deploy-flask-web-app-docker-dockerfile-compose/" data-a2a-title="Создание Web-приложения Flask и деплой с помощью Docker Compose &amp; Dockerfile"></a></p><p>Сообщение <a href="https://python.ivan-shamaev.ru/run-install-deploy-flask-web-app-docker-dockerfile-compose/">Создание Web-приложения Flask и деплой с помощью Docker Compose &#038; Dockerfile</a> появились сначала на <a href="https://python.ivan-shamaev.ru">Python 3 | Data Science | Нейронные сети | AI - Искусственный Интеллект</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://python.ivan-shamaev.ru/run-install-deploy-flask-web-app-docker-dockerfile-compose/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
