log 2021-08-05
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/*;
도커 빌드는 되었는데 다시 보다보니 저 명령자체가 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
바이너리 파일을 찾을 수 있다.
그런데 그래도 인식이 안되길래, 원인이 무엇인가 찾아보다가, 아래처럼 서버 실행파일 위치를 지정하여 해결하였다.
지정 후 새로고침하면
아래와 같이 rust-analyzer가 제대로 실행되어 타입 힌트 등이 지원되는 것을 확인할 수 있다.
참조
TODO: 해당 내용 tip으로 만들기
기본 서비스 구조 구현 3
k8s를 사용하려니 너무 포함되는 것이 많다. 일단 가벼운 docker-compose를 사용해보는건 어떨까 싶다.
docker에서 어떻게 네트워크들이 동작하는지에 대해 아래 링크에서 잘 설명되어 있는 듯하다.
결국 docker-compose도 자체 정적 구성된 네트워크 요소들을 활용하여 실행되는 것이다. 그렇다면 공부를 위해서는 무엇을 하는것이 좋을까??
https://go-coding.tistory.com/79
내가 pseudo에서 질의/쓰기 분리를 위해 통계를 추가하려면 액션화시켜서 사용자 활동을 만드려 했던 것이 알고보니 이벤트 소싱이란 이름으로 대표적 패턴인 듯하다.
https://justhackem.wordpress.com/2017/02/05/introducing-event-sourcing
Comments