2 minute read

edge-analysis-module 돌리기 위한 인수인계임

edge-analysis-module 란?

다부처 과제 인수인계용 정리본에서 설명한 듯이 스마트 CCTV 상을 의미함.
송진하 박사님 edge-module-analysis github를 들어가려면 송진하 박사님께 허락 밑 github 승인을 받아야 됨.
중요한 건 송진하 박사님 레포토지를 git clone해서 가져와 함

이유: 송진하 박사님 레포토지를 받아서 수정한 후에 나중에 본인 레포토지를 가져와서 수정해야지 차후에 편함.

git clone https://github.com/JinhaSong/edge-analysis-module.git

git clone을 진행한 후에 해당 레포토지에 들어간 후 아래와 같은 코드를 써야 함.
edge-analysis-module/docker-compose.yml을 확인 해보면 default 값으로 다음과 같이 나옴

version: '2.3'

services:
  main:
    build:
      context: ./
      dockerfile: docker/Dockerfile
    runtime: nvidia
    restart: always
    env_file:
      - "docker/main.env"
    volumes:
      - ./videos:/videos
    expose:
      - "8000"
      - "22"
    ports:
      - "40001:8000"
      - "40022:22"
    stdin_open: true
    tty: true

여기서 수정해야 될게 있는데 volumes,ports,expose를 수정해야됨. 수정해야 되는 이유는 volumes의 경우에는 local 디렉토리와 docker 디렉토리를 엮기 위함이고 ports, expose는 server code를 실행하기 위함임

version: '2.3'

services:
  main:
    build:
      context: ./
      dockerfile: docker/Dockerfile
    runtime: nvidia
    restart: always
    env_file:
      - "docker/main.env"
    volumes:
      - /home/qazw5741/dabuchu/folder:/workspace/videos
    expose:
      - "8000"
      - "22"
      - "5555"
      - "8888"
    ports:
      - "40001:8000"
      - "40022:22"
      - "5555:5555"
      - "8888:8888"
    stdin_open: true
    tty: true

이렇게 docker-compose.yml을 수정한 후에 다음과 같은 코드를 진행하면 됨.

docker-compose up -d --build

다음과 같은 결과 창이 나오면 끝남

Building main
Step 1/8 : FROM sogangmm/tensorrt:22.07-py3-opencv411
 ---> 4412a52b830d
Step 2/8 : RUN DEBIAN_FRONTEND="noninteractive" apt-get -y install tzdata
 ---> Using cache
 ---> 489fb47f0082
Step 3/8 : RUN sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes #prohibit-password/' /etc/ssh/sshd_config
 ---> Using cache
 ---> 9fee00b68b62
Step 4/8 : WORKDIR /workspace
 ---> Using cache
 ---> abdf5f1899f6
Step 5/8 : ADD . .
 ---> 553f322fe663
Step 6/8 : ENV PYTHONPATH $PYTHONPATH:/workspace
 ---> Running in 61a5ef3d6a42
Removing intermediate container 61a5ef3d6a42
 ---> 252bdf14a3a9
Step 7/8 : RUN chmod -R a+w /workspace
 ---> Running in 9f199c4403c0
Removing intermediate container 9f199c4403c0
 ---> e7efa73ffcab
Step 8/8 : EXPOSE 8000
 ---> Running in a0c316db7de9
Removing intermediate container a0c316db7de9
 ---> 02e4b4150097

Successfully built 02e4b4150097
Successfully tagged edge-analysis-module_main:latest
Creating edge-analysis-module_main_1 ... done

image 생성후에 docker ps -a를 확인하면 아래와 같은 결과가 나올거임 이걸로 edge-module이 제대로 설치 됬는지 확인 가능함.

CONTAINER ID   IMAGE                         COMMAND                  CREATED              STATUS                    PORTS                                                                                                                                                                    NAMES
88b1ec2fb6f2   edge-analysis-module_main     "/opt/nvidia/nvidia_…"   About a minute ago   Up About a minute         0.0.0.0:40022->22/tcp, :::40022->22/tcp, 0.0.0.0:40001->8000/tcp, :::40001->8000/tcp                                                                                     edge-analysis-module_main_1

code-server 이용하기

apt-get update
apt-get install curl
apt-get install nano

vscode-server 설치 블로그를 보면 curl을 이용해서 code-server를 설치해야 됨.

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

그 다음 제대로 설치 됬는지 확인 + config.yaml가 자동으로 설치하도록 만듦

code-server

위 코드를 작성하면 아래와 같은 창이 나옴

[2023-03-23T15:02:01.014Z] info  Wrote default config file to ~/.config/code-server/config.yaml
[2023-03-23T15:02:01.349Z] info  code-server 4.11.0 85e083580dec27ef19827ff42d3c9257d56ea7e3
[2023-03-23T15:02:01.349Z] info  Using user-data-dir ~/.local/share/code-server
[2023-03-23T15:02:01.357Z] info  Using config file ~/.config/code-server/config.yaml
[2023-03-23T15:02:01.357Z] info  HTTP server listening on http://127.0.0.1:8080/
[2023-03-23T15:02:01.357Z] info    - Authentication is enabled
[2023-03-23T15:02:01.357Z] info      - Using password from ~/.config/code-server/config.yaml
[2023-03-23T15:02:01.357Z] info    - Not serving HTTPS

다시 나온 다음에 ~/.config/code-server/config.yaml을 수정 해야됨

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

그 후에 아래와 같이 바꾸면 됨

bind-addr: 0.0.0.0:5555
auth: password
password: 원하는 비밀번호                    
cert: false

그 다음 다시 code-server를 진행하면 다음과 같이 창이 뜨는데 해당 url을 ctrl+클릭으로 들어가면 됨

[2023-03-23T15:03:41.186Z] info  code-server 4.11.0 85e083580dec27ef19827ff42d3c9257d56ea7e3
[2023-03-23T15:03:41.186Z] info  Using user-data-dir ~/.local/share/code-server
[2023-03-23T15:03:41.194Z] info  Using config file ~/.config/code-server/config.yaml
[2023-03-23T15:03:41.194Z] info  HTTP server listening on http://0.0.0.0:5555/
[2023-03-23T15:03:41.194Z] info    - Authentication is enabled
[2023-03-23T15:03:41.194Z] info      - Using password from ~/.config/code-server/config.yaml
[2023-03-23T15:03:41.194Z] info    - Not serving HTTPS

다음과 같은 창이 나오게 됨.

여기서 비밀번호를 원하는 거로 진행하면 됨.
이제 실험을 바로 진행하면 됨.

Categories:

Updated:

Leave a comment