Cargo Watch 및 Docker를 사용하여 Rust에서 핫 리로드

안녕하세요 여러분 👋🏻
오늘 저는 Docker Container를 사용하여 Rust의 변경 사항을 관찰할 수 있는 방법을 여러분과 공유하고자 합니다. 이것은 기사의 연속입니다

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가 이미지를 빌드하는 데 사용할 지침이 포함된 일반 텍스트 파일입니다. see more

2 - 다음 단계는 아래 명령을 사용하여 이미지를 만드는 것입니다.

docker build -t rust-observable-image .


그러면 이미지가 성공적으로 빌드되었음을 확인하는 응답이 터미널에 표시되어야 합니다.[+] Building 430.0s (10/10) FINISHED


이미지가 생성된 것을 확인할 수 있습니다.

docker images




3 - 다음 단계는 컨테이너를 실행하고 컨테이너 내에서 "cargo watch"명령을 실행하는 것이지만 Docker Compose를 사용하여 보다 자동화된 작업을 수행할 것입니다. 따라서 Docker Compose로 컨테이너를 시작하면 컨테이너가 자동으로 실행되기 때문에 2단계를 실행할 필요가 없습니다.

따라서 프로젝트의 루트 디렉터리 내에 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




이제부터 프로젝트를 변경하고 컨테이너에서 변경 사항을 관찰할 수 있습니다.

좋은 웹페이지 즐겨찾기