SiteMap


sitemap.xml


반응형


기본 환경은

아래와 같이 준비해놓자


Minikube Install

https://www.whatwant.com/entry/Minikube-install-in-Ubuntu-1804-in-VirtualBox


Node.js Install

https://www.whatwant.com/entry/Nodejs-install-in-Ubuntu-1804




1. 준비


    - Minikube 시작해 놓고...


❯ minikube start


    - dashboard 띄워서 눈으로 보고...


❯ minikube dashboard


    - 웹서버 소스 파일 준비해놓고....


❯ nano ./server.js


var http = require('http');

var os = require('os');


var host = os.hostname();

var handleRequest = function(request, response) {

    console.log('Received request for URL: ' + request.url);

    response.writeHead(200);

    response.end('Server is running on: ' + host);

};


var www = http.createServer(handleRequest);

www.listen(8080);




2. docker 환경 맞추기


    - Minikube를 위한 docker 환경을 갖춰야 한다.


    - Minikube에서 요구하는 docker-env는 뭔지 확인해본다.


❯ minikube docker-env


export DOCKER_TLS_VERIFY="1"

export DOCKER_HOST="tcp://192.168.99.100:2376"

export DOCKER_CERT_PATH="/home/chani/.minikube/certs"

export MINIKUBE_ACTIVE_DOCKERD="minikube"


# To point your shell to minikube's docker-daemon, run:

# eval $(minikube -p minikube docker-env)


    - 뭘 해야하는지 밑에서 알려줬다.


❯ eval $(minikube -p minikube docker-env)


    - 잘 되었는지 확인해보자.


❯ docker images -a


REPOSITORY                                TAG                 IMAGE ID            CREATED             SIZE

gcr.io/k8s-minikube/storage-provisioner   v2                  9c3ca9f065bb        2 weeks ago         32.2MB

kubernetesui/dashboard                    v2.0.1              85d666cddd04        3 months ago        223MB

k8s.gcr.io/kube-proxy                     v1.18.3             3439b7546f29        3 months ago        117MB

k8s.gcr.io/kube-apiserver                 v1.18.3             7e28efa976bd        3 months ago        173MB

k8s.gcr.io/kube-scheduler                 v1.18.3             76216c34ed0c        3 months ago        95.3MB

k8s.gcr.io/kube-controller-manager        v1.18.3             da26705ccb4b        3 months ago        162MB

kubernetesui/metrics-scraper              v1.0.4              86262685d9ab        4 months ago        36.9MB

k8s.gcr.io/pause                          3.2                 80d28bedfe5d        6 months ago        683kB

k8s.gcr.io/coredns                        1.6.7               67da37a9a360        6 months ago        43.8MB

k8s.gcr.io/etcd


    - Minikube에서 쓰이는 아이들이 보이면 잘 된것이다.




3. Docker build


    - 준비되어있는 server.js 파일을 담는 docker 이미지를 만들어 보자


    - dockerfile 부터 만들어 보자.


❯ ls -al


합계 12

drwxr-xr-x 2 chani chani 4096  8월 22 04:59 .

drwxr-xr-x 3 chani chani 4096  8월 22 04:58 ..

-rw-r--r-- 1 chani chani  336  8월 22 04:59 server.js


❯ nodejs --version  


v12.18.3


❯ nano ./dockerfile


FROM node:12.18.3

EXPOSE 8080

COPY server.js .

CMD node server.js


    - 이제 빌드를 해보자.


❯ docker build -t whoru:v1 -f dockerfile .


Sending build context to Docker daemon  3.072kB

Step 1/4 : FROM node:12.18.3

12.18.3: Pulling from library/node

419e7ae5bb1e: Pull complete 

848839e0cd3b: Pull complete 

de30e8b35015: Pull complete 

258fdea6ea48: Pull complete 

ddb75eb7f1e9: Pull complete 

7ec8a0667334: Pull complete 

3366ea2fc4ca: Pull complete 

48116fadad2c: Pull complete 

27e46094f3f2: Pull complete 

Digest: sha256:d0738468dfc7cedb7d260369e0546fd7ee8731cfd67136f6023d070ad9679090

Status: Downloaded newer image for node:12.18.3

 ---> cfcf3e70099d

Step 2/4 : EXPOSE 8080

 ---> Running in 042f882d14c1

Removing intermediate container 042f882d14c1

 ---> 20836a2513a7

Step 3/4 : COPY server.js .

 ---> f0dd3d753786

Step 4/4 : CMD node server.js

 ---> Running in 252610e59ae9

Removing intermediate container 252610e59ae9

 ---> 3dcf96f4c978

Successfully built 3dcf96f4c978

Successfully tagged whoru:v1


    - 잘 만들어졌는지 확인해보자.


❯ docker images


REPOSITORY                                TAG                 IMAGE ID            CREATED              SIZE

whoru                                     v1                  3dcf96f4c978        About a minute ago   917MB

node                                      12.18.3             cfcf3e70099d        2 weeks ago          917MB

gcr.io/k8s-minikube/storage-provisioner   v2                  9c3ca9f065bb        2 weeks ago          32.2MB

kubernetesui/dashboard                    v2.0.1              85d666cddd04        3 months ago         223MB

k8s.gcr.io/kube-proxy                     v1.18.3             3439b7546f29        3 months ago         117MB

k8s.gcr.io/kube-controller-manager        v1.18.3             da26705ccb4b        3 months ago         162MB

k8s.gcr.io/kube-apiserver                 v1.18.3             7e28efa976bd        3 months ago         173MB

k8s.gcr.io/kube-scheduler                 v1.18.3             76216c34ed0c        3 months ago         95.3MB

kubernetesui/metrics-scraper              v1.0.4              86262685d9ab        4 months ago         36.9MB

k8s.gcr.io/pause                          3.2                 80d28bedfe5d        6 months ago         683kB

k8s.gcr.io/coredns                        1.6.7               67da37a9a360        6 months ago         43.8MB

k8s.gcr.io/etcd                           3.4.3-0             303ce5db0e90        10 months ago        288MB


    - 제일 위에 예쁘게 만들어져 있는 것을 볼 수 있다.





4. Pod 생성


    - 방금 만든 Docker image를 실행해 보자.


❯ kubectl run whoru --image=whoru:v1 --port=8080 --image-pull-policy=Never


pod/whoru created


    - dashboard에서 확인해볼 수 있다.



    - 물론 명령어로도 확인할 수 있다.


❯ kubectl get pods


NAME    READY   STATUS    RESTARTS   AGE

whoru   1/1     Running   0          3m28s



❯ kubectl describe pod whoru


Name:         whoru

Namespace:    default

Priority:     0

Node:         minikube/192.168.99.100

Start Time:   Sat, 22 Aug 2020 05:43:50 +0900

Labels:       run=whoru

Annotations:  <none>

Status:       Running

IP:           172.17.0.5

...




5. Service 생성


    - Pod만 가지고는 접근할 방법이 없다.

    - 연결고리 역할을 해주는 Service를 생성해보자.


❯ kubectl expose pod whoru --type=LoadBalancer


service/whoru exposed


    - 당연히 dashboard에서도 나타난다.



    - Service를 통해 접근이 가능한지 테스트 해보자.


❯ minikube service whoru


|-----------|-------|-------------|-----------------------------|

| NAMESPACE | NAME  | TARGET PORT |             URL             |

|-----------|-------|-------------|-----------------------------|

| default   | whoru |        8080 | http://192.168.99.100:31610 |

|-----------|-------|-------------|-----------------------------|

🎉  Opening service default/whoru in default browser...

 chani  /srv/workspace/server

❯ 기존 브라우저 세션에서 여는 중입니다.




다음 단계는 다음 포스팅으로~

반응형

'잘난놈되기' 카테고리의 다른 글

Docker Hub 활용  (0) 2020.11.14
SiteMap  (0) 2020.08.30
Node.js install (in Ubuntu 18.04)  (0) 2020.08.22
의자 가죽 리폼 (피아노의자, 식탁의자)  (0) 2020.05.25
인터넷 속도 측정 사이트 (넷플릭스)  (0) 2020.03.14


Node.js를 사용할 일이 있어서 빠르게 찾아봤다.



Reference: https://github.com/nodesource/distributions/blob/master/README.md#debinstall




1. PPA 등록


    - curl도 싫어하고 ppa 등록하는 것도 싫어하지만...


> curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -




2. nodejs 설치


    - 이제 그냥 설치하면 된다.


❯ sudo apt install -y nodejs




3. Test


    - 잘 되는지 직접 해보자.


> nano ./server.js


var http = require('http');

var os = require('os');


var host = os.hostname();

var handleRequest = function(request, response) {

    console.log('Received request for URL: ' + request.url);

    response.writeHead(200);

    response.end('Server is running on: ' + host);

};


var www = http.createServer(handleRequest);

www.listen(8080);


> nodejs ./server.js


    - 웹브라우저로 살펴보자.




잘 된다!!!



반응형



Minikube를 가지고 놀고 싶은데,

내 PC를 지저분하게 만들기가 싫어서...


최애하는 VirtualBox에 Ubuntu 설치해놓고

그 안에 Minikube를 설치해보고자 한다.



Reference: https://kubernetes.io/ko/docs/tasks/tools/install-minikube/



작업환경

    - Host OS: Windows 10

    - VirtualBox v6.1.12 r139181 (Qt5.6.2)

    - Guest OS: Ubuntu 18.04 Desktop

        . 2 CPU, 8192 Memory




1. 가상화 환경?!


    - "가상화 지원 여부를 확인"하란다. 현재 작업하고 있는 PC가 AMD라서 좀 찝찝한데...

    - VirtualBox의 Guest 환경에서 아래와 같이 "네스티드 VT-x/AMD-V 사용하기(V)"에 체크를 해주었다.




    - 뭔가 나오니까 된 것 같다.


❯ grep -E --color 'vmx|svm' /proc/cpuinfo

flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid tsc_known_freq pni pclmulqdq ssse3 cx16 sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx hypervisor lahf_lm cmp_legacy svm cr8_legacy abm sse4a misalignsse 3dnowprefetch ssbd vmmcall fsgsbase avx2 clflushopt arat nrip_save flushbyasid decodeassists

flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid tsc_known_freq pni pclmulqdq ssse3 cx16 sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx hypervisor lahf_lm cmp_legacy svm cr8_legacy abm sse4a misalignsse 3dnowprefetch ssbd vmmcall fsgsbase avx2 clflushopt arat nrip_save flushbyasid decodeassists




2. VirtualBox 설치 ?


    - VirtualBox in VirtualBox ??? 뭔가 이상하지만... 훌륭한 우리 VirtualBox는 이게 된다.


❯ sudo apt install -y virtualbox virtualbox-ext-pack




3. kubectl 설치


    - 제일 먼저 할 것은 현재 최신 버전이 뭔지 확인하는 것이다.


https://storage.googleapis.com/kubernetes-release/release/stable.txt


    - 지금 확인해본 결과는 v1.18.8 이었다.

    - 다운로드 받자. (다운로드 받는 경로나 wget을 사용하는 것은 개인적인 


> cd /srv/install/kubectl


> wget https://storage.googleapis.com/kubernetes-release/release/v1.18.1/bin/linux/amd64/kubectl


    - 설치하자


❯ chmod +x ./kubectl 


❯ sudo cp ./kubectl /usr/local/bin/kubectl


    - 잘 설치되었는지 확인해보자.


❯ kubectl version --client


Client Version: version.Info{Major:"1", Minor:"18", GitVersion:"v1.18.1", GitCommit:"7879fc12a63337efff607952a323df90cdc7a335", GitTreeState:"clean", BuildDate:"2020-04-08T17:38:50Z", GoVersion:"go1.13.9", Compiler:"gc", Platform:"linux/amd64"}




4. Minikube 설치


    - 다운로드 받아보자


> cd /srv/install/minikube


> wget https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 -O minikube


    - 설치하자


❯ chmod +x ./minikube 


❯ sudo install minikube /usr/local/bin





5. Minikube 실행


    - 실행은 엄청 쉽다


❯ minikube start





6. dashboard


    - minikube는 대시보드도 간단히 제공해준다.


❯ minikube dashboard


🔌  대시보드를 활성화하는 중 ...

🤔  Verifying dashboard health ...

🚀  프록시를 시작하는 중 ...

🤔  Verifying proxy health ...

🎉  Opening http://127.0.0.1:40647/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/ in your default browser...

[7090:7090:0822/025314.671219:ERROR:viz_main_impl.cc(150)] Exiting GPU process due to errors during initialization


    - 알아서 Chrome이 뜬다. (아! 개인적인 취향으로 VirtualBox에 Ubuntu 설치하자마자 Chrome을 미리 설치해놨다)





7. docker 설치


    - minikube를 가지고 놀기 위해서는 docker가 필요하다.


❯ sudo apt install -y docker.io


    - 현재 사용자 계정으로 docker를 실행할 수 있도록 하자


❯ sudo usermod -aG docker $USER


❯ newgrp docker


    - 현재 계정을 docker 그룹에 넣어도 바로 적용되지 않는다. 재부팅하기 귀찮아서 newgrp으로 지금 docker 그룹에 속한 것처럼 해버렸다.


    - 잘 설치되었는지 실행해보자. Permission 에러가 안나오면 된다.


❯ docker ps -a


CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES



가지고 노는 것은 다음 기회에~

반응형

 

앞에서 Visual Studio Code를 웹으로 사용하는 방법도 알아보았고,

 

Web based Visual Studio Code (Online VSCode)

https://www.whatwant.com/entry/Web-based-Visual-Studio-Code-Online-VSCode

 

 

Python 개발을 위한 환경도 꾸며보았다.

 

Visual Studio Code for Python (VSCode Python 개발환경 만들기)

https://www.whatwant.com/entry/Visual-Studio-Code-for-Python-VSCode-Python-개발환경-만들기

 

 

 

 

[ Powerline fonts in zsh ]

 

 

그런데, Terminal을 보면 뭔가 글자들이 깨진 것처럼 보인다.

 

 

 

필자의 경우 Ubuntu에 Shell 환경을

zsh로 꾸미면서 테마를 예쁘게 하다보니

일반적인 폰트를 사용하지 않기 때문이다.

 

일명 powerline 폰트 !!!

 

그냥 Terminal 화면에서는 아래와 같이 정상적으로 출력이 된다.

 

 

 

 

 

zsh 환경을 만들 때 아래와 같은 명령어를 통해 font를 설치했었다.

 

> sudo apt-get install fonts-powerline

 

※ Windows에서는 다음 링크에 있는 폰트를...

github.com/Falkor/dotfiles/tree/master/fonts

 

 

 

 

[ Visual Studio Code ... Conflict ]

 

 

하지만, VSCode 에서는 위의 폰트를 그대로 사용할 수 없단다,

 

VSCode는 "monospace fotns"만 지원한단다.

 

그래서 VSCode의 Terminal이 아래와 같이 깨진 폰트로 출력이 된다.

 

 

 

 

 

[ Setting Font ]

 

Settings의 Terminal 항목에서

"Integrated: Font Family"에 다음과 같이 셋팅하자.

 

'Ubuntu Mono', 'PowerlineSymbols'

 

 

※ Windows 에서는 다음과 같이 : 'SourceCodePro+Powerline+Awesome Regular'

 

 

 

Terminal 화면을 보면 알겠지만, 예쁘게 잘 나온다.

 

 

우와~ 깔끔하게 해결~!!!

 

 

반응형


앞에서 Visual Studio Code를 웹으로 사용하는 방법을 알아보았다.


Web based Visual Studio Code (Online VSCode)

https://www.whatwant.com/entry/Web-based-Visual-Studio-Code-Online-VSCode




그러면 이번에는 Python Code를 작성하기 위한 과정을 살펴보자.





아! 기본 운영체제는 Ubuntu 18.04 이다.






[ Python ]


Python을 설치하자.

2.x 와 3.x 모두 설치해버리자.


❯ sudo apt install python python-pip virtualenv

❯ sudo apt install python3 python3-pip python3-venv







[ Extension ]


VSCode를 실행하고...

왼쪽 제일 아래 아이콘을 클릭하면 VSCode의 Extension을 고를 수 있는 화면이 나온다.





검색어를 넣어서 검색을 해도 좋고,

보이는 것을 클릭해도 된다.


Python 관련 여러개의 Extension이 보이겠지만,

Microsoft에서 제공해주는 아이로 설치하자.


오른쪽에 나오는 화면의 "Install"을 클릭하면 된다.





설치가 되었지만, 바로 적용되는 것은 아니다.


"Reload Required"를 클릭해버리면 된다.








[ File ]


Python 파일을 만들기에 앞서서,

작업을 할 디렉토리가 먼저 준비되어야 한다.


미리 생성해놓을 수도 있고

VSCode에서 생성을 할 수도 있다.





원하는 디렉토리를 고르면 된다.





그리고, "New File"을 선택해서 파일 이름을 정해주면 된다.










[ Error ]


간단한 Python 파일을 만들고 실행을 해보기 전에,

어떤 버전의 Python을 사용할 것인지를 선택해보자.





왼쪽 아래에 나오는 "Python 3.6.9 64-bit" 부분을 클릭했더니...

에러가 발생했다.


"command 'python.setInterpreter' not found"


필요한걸 찾을 수가 없단다.



지금 code-server로 구동되고 있는 VSCode와 Extension의 궁합이 맞지 않아 발생하는 에러로 보인다.

(이걸 알아내기 위해 정말 오랫동안 삽질을... ㅠㅠ)









[ Extension Downgrade ]


왼쪽 아래 아이콘을 눌러서 Extension 메뉴로 간 뒤에

왼쪽 Installed 항목에 있는 Python에서

기어(Gear) 모양의 버튼을 누르고

"Install Another Version..." 메뉴를 선택하자.





주르륵 나오는 버전 중에서

"2020.5.86806"

버전을 고르자





"Reload Required"

눌러서 재시작~





못보던 아래와 같은 화면이 나오면 성공~!!!











[ Select Linter ]



Python Coding Style을 검사할 엔진(?)을 고르는 것이다.


위에 나오는 화면에서 "Select Linter"를 선택하거나


[Ctrl + Shift + P]를 눌러서 나오는 화면에서 "Linter" 타이핑해서

"Python: Select Linter"를 선택하자.





개인적으로는 "flake8"을 선호한다.


그러면 끝~!!








[ Run ]


이제, 다시 진행해보자.


왼쪽 아래에 나오는 "Python 3.6.9 64-bit" 부분을 클릭해보자.





Python 2.x를 사용할지

Python 3.x를 사용할지

고르면 된다.


소스 코드에서

마우스 오른쪽 버튼을 누르고

메뉴 중에서

"Run Python File in Terminal"

클릭~





아래와 같이 실행 결과가

Terminal 윈도우에 나온다.





끝~




반응형


[ Visual Studio Code ]


최근 SW 개발用 에디터는 "Visual Studio Code"가 거의 시장을 평정한 것 같다.



이름이 저렇다고 해서

예전의 Visual Studio를 생각하면 안된다.


주위의 일부 고인물(^^)들이

VSCode가 Visual Studio의 최신판일줄 알고선

C나 C++ 개발이 아니라는 이유로

VSCode를 멀리하는데... ^^



VSCode는 그냥 똑똑한 에디터이다.

Extension(Plugin)이 엄청나게 많이 제공되는

Coding할 때 아주 많이 유용한...


음... 사실 에디터로 부르기 보다는

IDE (Integrated Development Environment)라고

부르는 것이 더 맞는 것 같다.


한국말로는 통합개발환경 ?!




[ Remote IDE / Cloud IDE ]


일반적으로 이러한 IDE는 Local PC에 설치를 하고

GitHub와 같은 형상관리 도구와 연계를 해서 소스코드를 내려받고

Local에 구축한 빌드환경에서 빌드를 해보는 것이

일반적인 개발 환경일 것이다.


그런데, 아래와 같은 상황에서는 환경 구축에 애로사항이 좀 있을 수 있다.


노트북이 없고 데스크탑밖에 없는데,

여기저기 이동(출장)을 다니며 코딩을 해야하는 경우


내가 지금 개발하고 있는 것을

다른 개발자와 같이 보면서 리뷰를 하고 싶은 경우


내 데스크탑은 Windows인데

빌드 환경으로 Linux 환경이 필요한 경우


전혀 다른 빌드 환경의 개발을

동시에 2개 이상을 해야하는 경우


빌드 환경 구축이 까다로운데

여러 명이 같이 개발을 하는 경우

심지어 초짜 개발자가 계속 투입되는 경우



이럴 때 사용할 수 있는 여러가지 방법 中

최근 내가 관심을 갖고 있는 것은 Remote IDE/Cloud IDE 이다.


빌드 환경을 포함한 VSCode를

웹 인터페이스로 제공을 해주는 것이다.



대표적으로는 얼마전에 살펴봤던

Goorm IDE

https://ide.goorm.io/







[ Visual Studio Codespaces ]


MS에서는 이러한 요구를 해결하기 위해서

"Visual Studio Online"

이라는 서비스를 제공했었고,


지금은

"Visual Studio Codespaces"
라는 이름으로 변경해서 서비스하고 있다.



방금 한 번 해봤는데... Azure DevOps랑 연계되어 있어서

그냥 편하게 막 쓰기엔 좀 귀찮았다.


하지만... 멋지다!







[ Own Remote IDE ]


뭐 지금까지 기본적인 배경 사항들에 대해서 알아봤다.


하지만, 지금 내가 하고 싶은 것은

내가 지금 사용하고 있는 Local 환경 (PC 또는 Server)에서

나만의 VSCode를 웹으로 띄우고 싶은 것이다.


나만 이런 생각을 하는 것이 아니기에...

훌륭한 분들이 먼저 그 길을 걸었다!!!


Coder라는 회사에서

https://coder.com/ )

관련 솔루션을 Opensource로 오픈했다.

https://github.com/cdr/code-server )


회사에서 오픈한 프로젝트라서 그런지

운영도 활발히 잘되고

문서화도 깔끔하다.



"code-server"를 이용하면

지금 내 데스크탑을 VSCode Server로 사용할 수가 있는 것이다.






[ code-server 설치하기 ]


쓸만한 성능을 보이기 위해서는


1 GB RAM

2 cores


정도의 스펙이 필요하다고 한다.

참고!!!



Local PC 또는 서버에 바로 설치할 수도 있고,

AWS 또는 GCP에 설치할 수도 있다고 한다.

참고!!!



설치하는 방법은 다양하게 제공된다.


1. curl 을 통해 install.sh를 실행하는 방법

2. 배포판에 따라 설치파일을 이용해 설치하는 방법

3. Docker를 이용하는 방법






[ 1. install.sh ]


"curl -fsSL https://code-server.dev/install.sh | sh -s -- --dry-run"


설치가 잘 될지 한 번 가볍게 테스트 해보고


❯ curl -fsSL https://code-server.dev/install.sh | sh -s -- --dry-run

Ubuntu 18.04.5 LTS

Installing v3.4.1 deb package from GitHub releases.


+ mkdir -p ~/.cache/code-server

+ curl -#fL -o ~/.cache/code-server/code-server_3.4.1_amd64.deb.incomplete -C - https://github.com/cdr/code-server/releases/download/v3.4.1/code-server_3.4.1_amd64.deb

+ mv ~/.cache/code-server/code-server_3.4.1_amd64.deb.incomplete ~/.cache/code-server/code-server_3.4.1_amd64.deb

+ sudo dpkg -i ~/.cache/code-server/code-server_3.4.1_amd64.deb


To have systemd start code-server now and restart on boot:

  systemctl --user enable --now code-server

Or, if you don't want/need a background service you can run:

  code-server



"curl -fsSL https://code-server.dev/install.sh | sh"


실제로 설치를 진행하자


❯ curl -fsSL https://code-server.dev/install.sh | sh

Ubuntu 18.04.5 LTS

Installing v3.4.1 deb package from GitHub releases.


+ mkdir -p ~/.cache/code-server

+ curl -#fL -o ~/.cache/code-server/code-server_3.4.1_amd64.deb.incomplete -C - https://github.com/cdr/code-server/releases/download/v3.4.1/code-server_3.4.1_amd64.deb

######################################################################## 100.0%##O=#  #                                                                      

+ mv ~/.cache/code-server/code-server_3.4.1_amd64.deb.incomplete ~/.cache/code-server/code-server_3.4.1_amd64.deb

+ sudo dpkg -i ~/.cache/code-server/code-server_3.4.1_amd64.deb

[sudo] xxx의 암호: 

Selecting previously unselected package code-server.

(데이터베이스 읽는중 ...현재 175469개의 파일과 디렉터리가 설치되어 있습니다.)

Preparing to unpack .../code-server_3.4.1_amd64.deb ...

Unpacking code-server (3.4.1) ...

code-server (3.4.1) 설정하는 중입니다 ...


To have systemd start code-server now and restart on boot:

  systemctl --user enable --now code-server

Or, if you don't want/need a background service you can run:

  code-server



부팅할 때 자동으로 실행되도록하기 위해서는 다음의 명령어를 실행하면 된다.


"systemctl --user enable --now code-server"


❯ systemctl --user enable --now code-server

Created symlink /home/xxx/.config/systemd/user/default.target.wants/code-server.service → /usr/lib/systemd/user/code-server.service.



이제 웹브라우저로 확인해보자.


"http://127.0.0.1:8080"



패스워드는 위 화면에서 알려주는 것 처럼

아래 경로에 가면 알 수 있다.


"~/.config/code-server/config.yaml"


❯ cat  ~/.config/code-server/config.yaml

bind-addr: 127.0.0.1:8080

auth: password

password: 0f8015b4dbd5db86079f739a

cert: false


저기있는 패스워드를 입력하면 된다.



나온다 !!!


우와~~~~~ ^^






[ 2. 배포판에 따른 설치 ]


install.sh 파일 내용을 보면

다른 배포판에 대해서도 알아볼 수 있을 것이다.


여기에선 Ubuntu에서의 내용만~^^


일단 파일을 내려 받자


> wget https://github.com/cdr/code-server/releases/download/v3.4.1/code-server_3.4.1_amd64.deb


이제는 설치를 하면 된다.


> sudo dpkg -i code-server_3.4.1_amd64.deb

[sudo] chani의 암호: 

Selecting previously unselected package code-server.

(데이터베이스 읽는중 ...현재 175469개의 파일과 디렉터리가 설치되어 있습니다.)

Preparing to unpack code-server_3.4.1_amd64.deb ...

Unpacking code-server (3.4.1) ...

code-server (3.4.1) 설정하는 중입니다 ...


부팅할 때 자동 실행을 위해서...


❯ systemctl --user enable --now code-server

Created symlink /home/xxx/.config/systemd/user/default.target.wants/code-server.service → /usr/lib/systemd/user/code-server.service.


나머지는 위의 내용과 같다.






[ 3. Docker ]


docker가 먼저 설치되어 있어야 한다.


> sudo apt -y install docker.io


사용자 계정 권한으로 docker를 실행할 수 있도록 하자.


> sudo usermod -aG docker $USER


권한이 적용될 수 있도록

로그아웃/로그인 또는 재부팅을 하도록 하자.


그리고... 이제 docker를 실행하자 !!!


> docker run -it -p 127.0.0.1:8080:8080 \

  -v "$PWD:/home/coder/project" \

  -u "$(id -u):$(id -g)" \

  codercom/code-server:latest

info  Wrote default config file to ~/.config/code-server/config.yaml

info  Using config file ~/.config/code-server/config.yaml

info  Using user-data-dir ~/.local/share/code-server

info  code-server 3.4.1 48f7c2724827e526eeaa6c2c151c520f48a61259

info  HTTP server listening on http://0.0.0.0:8080

info      - Using password from ~/.config/code-server/config.yaml

info      - To disable use `--auth none`

info    - Not serving HTTPS


웹으로 접속하면 된다.


"http://127.0.0.1:8080"



어?! 그런데, 패스워드는 어떻게 확인하지 ?!


docker container 안으로 들어가서 확인해보자.


docker 실행을 하고 있는 터미널 말고

터미널 하나 더 띄워서 실행하면 된다.



❯ docker ps -a

CONTAINER ID        IMAGE                         COMMAND                  CREATED             STATUS              PORTS                      NAMES

235751eb3ebb        codercom/code-server:latest   "dumb-init fixuid -q…"   4 minutes ago       Up 4 minutes        127.0.0.1:8080->8080/tcp   dreamy_haibt


❯ docker exec -it 23575 /bin/bash


coder@235751eb3ebb:~$ ls -al

total 32

drwxr-xr-x 1 coder coder 4096 Aug 12 14:55 .

drwxr-xr-x 1 root  root  4096 Jun  4 10:59 ..

-rw-r--r-- 1 coder coder  220 Jun  4 10:59 .bash_logout

-rw-r--r-- 1 coder coder 3526 Jun  4 10:59 .bashrc

drwxr-xr-x 3 coder coder 4096 Aug 12 14:55 .config

-rw-r--r-- 1 coder coder  807 Jun  4 10:59 .profile

drwxr-xr-x 2 coder coder 4096 Aug 12 14:55 project


coder@235751eb3ebb:~$ cat ./.config/code-server/config.yaml 

bind-addr: 127.0.0.1:8080

auth: password

password: 665b7519d76a99e5bbcccac2

cert: false




우앙~ 힘들다!


일단 여기서 끊고 가겠다.


여력이 되면 추가로 꾸미는 것들 계속 해보겠다.


반응형


여름 휴가기간 中 그냥 가볍게 볼만한 영화를 찾다가

보게 된 정체모를(?) 영화 하나~ ^^



뭔가 포스터에서부터 냄새가 솔솔~ ^^




2019년 3월 5일에

IPTV와 디지털케이블TV에서 개봉


극장 개봉은 하지 못한 것 같다.

정말 다행인듯... (?)







송창수 감독의 작품인데...


"2009 외인구단"을 만든 감독님이시다.

그 때 정말 좋아했었는데....


문제는 그 때 이후로 연출력이 그닥 변하지 않은 것 같다는...








최근 예능에 나오면서

인지도가 많이 회복한

김승현



81년생인데.... 연기가 너무 올드하다.

딱 꼬집어 말하기 어려운데...

요즘 연기랑은 다른...

옛날 연기같은 느낌

연출탓인가?!






여자 주인공 정슬기

90년생으로

첫 주연작인 것으로 보인다.


얼굴은 왠지 낯이 익은데...

동명이인이 많아서

검색하기도 힘들고

실제로도 필모그라피가 없는 것 같다.


음... 연기력이 아직 쌓이기 전에

아이와 몸이 바뀐 연기를 하다보니

아직 자연스럽지 않은 연기력이

더 강조가 되는...





05년생 아역배우 주소정


조연 경험이 그나마 좀 있어서인지

이 영화에서 그나마 연기를 가장 잘하는 것 같다.


다만, 아직 아역 연기하던 습관이 좀 남아있어서인지

여자 어른과 몸이 바뀐 연기에서는... 조금...









이런 어설픈 CG ...


어설픈 극본 ...


어설픈 설정 ...


어설픈 연출 ...


어설픈 연기 ...





이건 사실 어지간한 명절 특집 드라마같은 수준의 영화다.





과감히 신인 배우들을 출연시키는 것은

극본과 연출의 힘으로

부족한 연기력을 극복하고

신인 배우의 연기력을 극한으로

끌어올릴 수 있을 때

시도해야하는 것인데...






그나마 몇 몇 장면에서

몇 몇 배우의 연기는 꽤 괜찮았다.




몇 몇 배우는

설정에서 캐릭터 좀 잘 잡아주고

연출에서 조금만 도와줬으면

훨씬 더 나은 연기가 나왔을 것 같은데...






영화가 뒤로 가면서

몇 몇 배우는

연기가 늘은 것이 보이기도 했다.

(성장 드라마였나!?)






이 영화를 보면서

사실 자꾸 드는 생각은...


국내 멜로물(이라고 쓰고 X로물이라고 읽는다)을 보는 것과 같은 느낌의

연출과 연기들이었다.






인터뷰에서 연출을 담당한 송창수 감독은

“우리는 막상 상대의 입장이 되어보지 않으면 서로를 이해하기 어렵습니다.

이 영화를 통해 다른 사람의 입장이 되어보는 즐거운 계기가 되었으면”

좋겠다고 말했다고 한다.



음... 음.... 음...






엔딩을 잘 정리한

연극영화과 졸업작품 中 우수작품 수준

정도의 작품이라고 정리하고 싶다.




너무 나쁜 말만 써서 많이 많이 미안하지만

2019년 3월에 출시하는 영화에

기대하는 수준이라는 것이 있기에...


옛날 영화라면 몰라도...

그래도 요즘 영화인데...



반응형

+ Recent posts