GCP에 온라인 메모장 만들기

4921 단어 CodiMDgcpgce
수고를 들이지 않고 온라인 메모장 환경을 만들어 본다.

환경


  • 인프라
  • GCE(GCP)
  • docker-compose

  • 애플리케이션
  • HackMD
  • PostgreSQL (MySQL도 가능)


  • 이번은 GCP의 무료 테두리로 해보므로 GCP 공식 절차 에 따라 실시한다.

    GCE 인스턴스 만들기



    GUI로 포치 포치 해 갈 뿐이므로 간단.

    왼쪽 상단의 메뉴 ≡에서 Compute Engine을 선택하여 VM 인스턴스를 만듭니다.


    이번은 무료 테두리이므로 Micro를 선택.



    부트 디스크는 Container-Optimized OS의 stable에서 가장 새로운 것을 선택한다.
    => 왜 잘 작동하지 않았기 때문에 Container-Optimized OS, 69-10895.385.0 stable에서 다시 만들었다.



    SSH로 로그인하고 Docker 시작



    작성 후 터미널에서 SSH로 로그인합니다.
    로그인 정보는 다음에서 확인할 수 있습니다.


    SSH로 로그인 후 docker-compose를 설정.
    docker run docker/compose:1.24.0 version
    

    HackMD의 docker 저장소를 clone.
    git clone https://github.com/hackmdio/docker-hackmd.git
    cd docker-hackmd/
    

    80번 포트로 접속할 수 있도록 docker 호스트의 80포트를 컨테이너의 3000포트에 포워드.

    docker-compose.yml
      ~略~
      app:
        ports:
          # 3000を80に変更
          # - "3000:3000"
          - "80:3000"
      ~略~
    

    docker-compose 명령의 별칭을 만듭니다.
    echo alias docker-compose="'"'docker run --rm \
         -v /var/run/docker.sock:/var/run/docker.sock \
         -v "$PWD:$PWD" \
         -w="$PWD" \
         docker/compose:1.24.0'"'" >> ~/.bashrc
    

    반영.
    $ source ~/.bashrc
    

    docker-compose로 시작.
    $ docker-compose up -d
    Starting docker-hackmd_database_1 ... done
    Starting docker-hackmd_app_1      ... done
    

    이제 아래 URL에 액세스하면 CodiMD 페이지가!

    http://인스턴스의 외부 IP/


    (번외편)포트의 드릴링



    굳이 docker-compose.yml을 편집하지 않고 3000번 포트에 구멍을 뚫어 보는 패턴도 시도했다. (시도하고 싶었을 뿐)

    인스턴스의 "네트워크 세부 정보 표시"를 선택합니다.



    왼쪽 방화벽 규칙에서 방화벽 규칙 만들기를 선택합니다.



    아래와 같이 3000번 포트를 허가하는 규칙을 작성한다.


    품목
    입력 내용


    이름
    allow-3000

    타겟 태그
    allow3000-server

    IP 범위
    0.0.0.0/0

    프로토콜 및 포트
    tcp:3000





    GCE 인스턴스로 돌아가서 편집을 선택합니다.



    네트워크 태그에 방금 만든 "allow3000-server"를 입력하여 저장.



    이것으로 포트를 지정하면 CodiMD의 페이지가 표시된다.

    http://instance 외부 IP:3000/

    좋은 웹페이지 즐겨찾기