code-server에 라이브러리 설치

코코블루·2022년 5월 18일
0

code-server

목록 보기
2/2

시작

code-server의 기본 이미지에는 라이브러리가 들어있지 않습니다. 그래서 이전 글처럼 구축만 한 상태에서는 어떠한 테스트도 하기 어렵습니다. 단순한 HTML 작성이나 yaml, xml 파일 등 마크 업 파일들만 다룰 수 있게 됩니다.

하지만, code-server 제작자가 이러한 문제를 해결하기 위해 'DOCKER_MODS'라고 하여 플러그인 개념이 있습니다. 이를 통해 node, jdk, git, docker 등 여러 라이브러리를 설치할 수 있습니다.

작동 원리

Docker Image는 불변성을 갖고 있는데 어떻게 작동하는 것인가 싶어서 구조를 봐봤는데요.

다루어 볼 내용

이번 글에서는 아래 라이브러리를 다루어보겠습니다.

  • Node 14 (Official)
  • Node 16 (UnOfficial)
  • git
  • OpenJDK 11 (Official)
  • MS OpenJDK 11 (UnOfficial)

적용 방법

공통적으로 적용하기 위해서는 Docker Image 주소를 Environment Value의 'DOCKER_MODS'에 넣으면 됩니다. 만일 적용할 MOD가 여러 개라면, '|'로 구분하여 넣으면 됩니다.

Node

Node의 경우 code-server에서 제공하는 기본 버전이 14이며, 공식 MOD만 사용할 경우에는 아직 16 버전으로 사용할 방법이 없습니다.

Node 14 버전의 경우

14 버전을 사용하실려면, code-server에서 제공하는 14 버전의 경우 환경 변수에 linuxserver/mods:code-server-nodejs를 넣고 컨테이너를 시작하면 됩니다.

기타 버전

16 버전 또는 기타 버전을 사용하실려면, 제가 code-server에서 제공하는 기본 MOD를 포크하여 작업한 것이 있습니다. 이 MOD를 사용하면, 환경 변수 'NODE_VERSION'에 메이저 버전을 넣어두면 이에 맞추어서 해당 메이저 버전의 최신 버전을 설치하게 됩니다. 만일, 환경 변수를 지정하지 않는다면 기본 값은 '16'입니다.

EX) Node 15 버전을 설치하고자 하는 경우, NODE_VERSION에 15를 넣으시면 됩니다.

이 모드를 사용하고 싶으시다면, 환경 변수에 DOCKER_MODS=ghcr.io/shin6949/codeserver-mods:code-server-nodejs를 설정합니다.

Git

공식 MOD

공식 MOD의 경우 환경 변수를 DOCKER_MODS=linuxserver/mods:universal-git로 설정하시면 됩니다.

포크 MOD

제가 포크한 MOD의 경우, 환경 변수 GIT_USERNAME, GIT_EMAIL에 정보를 등록하면, 자동으로 git config --global 명령어를 통해 git config를 동록합니다. 공식 문서의 경우 수동으로 등록하라고 기재되어 있습니다.

이 MOD를 사용하고 싶으시면 환경 변수를 DOCKER_MODS=ghcr.io/shin6949/codeserver-mods:universal-git로 설정하시면 됩니다.

Forked Github

OpenJDK

공식 MOD

공식 MOD의 경우 apt-get install openjdk-11-jdk 명령어를 수행합니다. 이를 사용하고 싶으신 경우 환경 변수를 DOCKER_MODS=linuxserver/mods:code-server-java11로 설정하시면 됩니다.

포크 MOD (MS OpenJDK 11)

저 같은 경우에는 MS에서 만든 OpenJDK 11을 사용하고 있어서 MOD를 포크하여 따로 제작하였습니다. 이를 사용하고 싶으시다면 환경 변수를 DOCKER_MODS=ghcr.io/shin6949/codeserver-mods:code-server-msopenjdk11로 지정하시면 됩니다.

Forked Github

기타 MOD 적용은?

기타 MOD를 찾고 계시다면 공식 홈페이지를 참고하여 적용하시면 됩니다.

profile
Have A Happy Coding Time!

1개의 댓글

comment-user-thumbnail
2023년 10월 19일

이전 글보고 코드서버 잘 구축했습니다
질문이있는데 jdk를 적용후에 코드서버에서 적용을 어떻게 해야 자바 컴파일을 할수있나요

답글 달기