1 minute read


code-server 셋업 3

다음과 같이 dockerfile 구성하여 code-server에서 rust 툴체인을 사용하도록 설정함. 그러나 rust-analyzer 확장이 rpi와 호환되지 않아 따로 빌드해야 했다.

FROM ghcr.io/linuxserver/code-server

# from https://hub.docker.com/r/rustlang/rust/dockerfile
ENV RUSTUP_HOME=/usr/local/rustup \
    CARGO_HOME=/usr/local/cargo \
    PATH=/usr/local/cargo/bin:$PATH

RUN set -eux; \
    apt-get update; \
    apt-get install -y --no-install-recommends \
        ca-certificates \
        gcc \
        libc6-dev \
        wget \
        ; \
    \
    url="https://static.rust-lang.org/rustup/dist/armv7-unknown-linux-gnueabihf/rustup-init"; \
    wget "$url"; \
    chmod +x rustup-init; \
    ./rustup-init -y --no-modify-path --default-toolchain nightly; \
    rm rustup-init; \
    chmod -R a+w $RUSTUP_HOME $CARGO_HOME; \
    rustup --version; \
    cargo --version; \
    rustc --version;
    # \
    # apt-get remove -y --auto-remove \
    #     wget \
    #     ; \
    # rm -rf /var/lib/apt/lists/*;

image

도커 빌드는 되었는데 다시 보다보니 저 명령자체가 vscode 확장을 설치하는 명령이었던 듯하다. 그래서 code-server를 켜서 다시 실행했는데 permission denied 에러가 발생했다. 검색해보니 소유자 문제라고 하여 /usr/local/cargo 하위 파일들을 아래 명령으로 소유권을 변경했다.

(참고 https://github.com/rust-lang/cargo/issues/6757)

sudo chown -R $(whoami) /Users/lowesyang/.cargo/

그 후, 다시 위 서버 설치 명령 실행

cargo xtask install --server

약 한시간 걸려 빌드 성공하면 target/release아래 어딘가에 rust-analyzer 바이너리 파일을 찾을 수 있다.

그런데 그래도 인식이 안되길래, 원인이 무엇인가 찾아보다가, 아래처럼 서버 실행파일 위치를 지정하여 해결하였다.

image

지정 후 새로고침하면

image

아래와 같이 rust-analyzer가 제대로 실행되어 타입 힌트 등이 지원되는 것을 확인할 수 있다.

image

참조

TODO: 해당 내용 tip으로 만들기

기본 서비스 구조 구현 3

k8s를 사용하려니 너무 포함되는 것이 많다. 일단 가벼운 docker-compose를 사용해보는건 어떨까 싶다.

docker에서 어떻게 네트워크들이 동작하는지에 대해 아래 링크에서 잘 설명되어 있는 듯하다.

https://stackoverflow.com/questions/37683508/how-does-service-discovery-work-with-modern-docker-docker-compose

결국 docker-compose도 자체 정적 구성된 네트워크 요소들을 활용하여 실행되는 것이다. 그렇다면 공부를 위해서는 무엇을 하는것이 좋을까??

https://go-coding.tistory.com/79

내가 pseudo에서 질의/쓰기 분리를 위해 통계를 추가하려면 액션화시켜서 사용자 활동을 만드려 했던 것이 알고보니 이벤트 소싱이란 이름으로 대표적 패턴인 듯하다.

https://justhackem.wordpress.com/2017/02/05/introducing-event-sourcing

https://sddev.tistory.com/111


Comments