Всем привет 👋🏻
Сегодня я хочу поделиться с вами тем, как мы можем наблюдать за изменениями в Rust с помощью Docker Containers. Это продолжение статьи Горячая перезагрузка в Rust с помощью Cargo Watch

  1. Прежде всего, мы должны создать DockerFile в корневом каталоге проекта и включить приведенный ниже код.
# Using official rust base image
FROM rust:alpine3.16

# Set the application directory
WORKDIR /app

# Install musl-tools to make many crates compile successfully
RUN apk add --no-cache musl-dev

# Install cargo-watch
RUN cargo install cargo-watch

# Copy the files to the Docker image
COPY ./ ./

Dockerfile – это обычный текстовый файл, содержащий инструкции, которые Docker будет использовать для создания образа. "узнать больше"

2. T̶h̶e̶ ̶f̶o̶l̶l̶o̶w̶i̶n̶g̶ ̶s̶t̶e̶p̶ ̶i̶s̶ ̶t̶o̶ ̶c̶r̶e̶a̶t̶e̶ ̶t̶h̶e̶ ̶i̶m̶a̶g̶e̶ ̶u̶s̶i̶n̶g̶ ̶t̶h̶e̶ ̶c̶o̶m̶m̶a̶n̶d̶ ̶b̶e̶l̶o̶w̶.̶

docker build -t rust-observable-image .

Теперь образ с зависимостью от груза создан.

Затем вы должны увидеть на своем терминале ответ, подтверждающий, что образ был успешно создан.
[+] Building 430.0s (10/10) FINISHED

Мы можем убедиться, что образ создан.

docker images

3. Следующим шагом будет запуск контейнера и запуск команды «cargo watch» внутри контейнера, но мы собираемся сделать что-то более автоматизированное с помощью Docker Compose. Поэтому нам не нужно выполнять шаг 2, потому что когда мы запускаем контейнер с помощью Docker Compose, он запускается автоматически.

Поэтому нам нужно создать файл docker-compose.yml внутри корневого каталога проекта и добавить следующие инструкции:

version: "3.9"
services:
    app:
        build: .
        container_name: "cargo-watch-example"
        volumes:
            - .:/app
        command: sh -c "cargo watch -x run"

4. Последний шаг — запуск контейнера с помощью Docker Compose.

docker compose up

С этого момента вы сможете вносить изменения в свой проект и наблюдать за изменениями из своего контейнера.

Если вам нравится мой контент и вы хотите поддержать мою работу, вы можете подарить мне чашечку кофе ☕️ 🥰

Следуй за мной в

Другие статьи цикла



Перезагрузка в реальном времени в Rust
Cargo Watchmedium.com