Чтобы развернуть веб-приложение Flutter в Docker, вы можете использовать несколько методов. Вот несколько вариантов с примерами кода:
Метод 1: Dockerfile
- Создайте Dockerfile в корневом каталоге вашего проекта веб-приложения Flutter.
- Добавьте в Dockerfile следующий код:
# Use the official Dart SDK base image
FROM google/dart:latest
# Set the working directory inside the container
WORKDIR /app
# Copy the pubspec files to the container
COPY pubspec.* ./
# Get the dependencies
RUN pub get
# Copy the rest of the app source code to the container
COPY . .
# Build the Flutter web app
RUN flutter build web
# Expose the desired port (e.g., 8080)
EXPOSE 8080
# Start the app
CMD ["dart", "bin/server.dart"]
- Создайте образ Docker:
docker build -t my_flutter_app .
- Запустите контейнер Docker:
docker run -d -p 8080:8080 my_flutter_app
Метод 2: Docker Compose
- Создайте файл
docker-compose.ymlв корневом каталоге вашего проекта веб-приложения Flutter. - Добавьте следующий код в файл
docker-compose.yml:
version: '3'
services:
app:
build:
context: .
dockerfile: Dockerfile
ports:
- 8080:8080
- Создайте и запустите контейнер Docker с помощью Docker Compose:
docker-compose up -d
Метод 3. Использование готового образа Docker
- Извлеките готовый образ Flutter Docker из Docker Hub. Например:
docker pull cirrusci/flutter:stable
- Перейдите в каталог проекта веб-приложения Flutter.
- Запустите контейнер Docker, используя полученный образ:
docker run -d -p 8080:8080 -v $(pwd):/app cirrusci/flutter:stable bash -c "cd /app && flutter build web && flutter run -d serve"
Это всего лишь несколько способов развертывания веб-приложения Flutter в Docker. Выберите тот, который лучше всего соответствует вашим потребностям.