TIL 2020/07/03

코드깎는 노인·2020년 7월 3일
0

bash

useradd -G Group-name Username
usermod -a -G Group-name Username

useradd-새 유저를 만들거나 유저의 기본 정보를 변경하거나 새유저를
2차 그룹(secondary group)에 추가

usermod 명령 – 시스템 계정을 수정 및 기존 사용자 계정을 변경

예들들어 도커실행시 사용자가 도커그룹에 추가되지 않았을 경우 sudo권한으로 실행해야 하지만 그룹에 추가 되었을 시 sudo가 필요없음

docker

version: '3.3'

services:
  backend:
    build:
      context: .
      dockerfile: Dockerfile
    volumes:
      - ./src:/backend/src
    ports:
      - 4000:4000
    env_file:
      - ./.env
    command: 'yarn run dev'
    links:
      - mongodb

  mongodb:
    image: mongo
    ports:
      - 27017:27017

networks:
  default:
    external:
      name: ABC_networks

프론트/백엔드 도커로 실행시 파일전송시 동일하지 않은 네트워크로 인해(localhost주소가 다름)
데이터 전송이 불가능하다.예를들어 localhost:3000에서 localhost:8000으로 데이터 전송시 각각의 컨테이너는 localhost가 달라 데이터 전송이 불가능하다.
doker network create ABC_networks명령어 실행시 ABC_networks라는 네트워크로 묶어 동일한 주소로 도커들이 묶여 데이터 전송이 가능하다.
docker network list실행시 ABC_networks라는 네트워크가 생성됨을 확인할 수 있다.

version: '3.3'

services:
  frontend:
    build:
      context: .
      dockerfile: Dockerfile
    volumes:
      - ./src:/frontend/src
      - ./pages:/frontend/pages
      - ./public:/frontend/public
    ports:
      - 3000:3000
    env_file:
      - ./.env
    command: 'yarn run dev'

  backend:
    build:
      context: .
      dockerfile: Dockerfile
    volumes:
      - ./src:/backend/src
    ports:
      - 4000:4000
    env_file:
      - ./.env
    command: 'yarn run dev'
    links:
      - mongodb

  mongodb:
    image: mongo
    ports:
      - 27017:27017

networks:
  default:
    external:
      name: rws_networks

네트워크생성방법말고 docker.compose파일안에 백엔드와 프론트엔드이미지를 한번에 생성할 수 있지만 프론트엔드 담당자가 백엔드파일까지 빌드하게 되어 에러생성시 핸들링이 힘들 수 있으므로 큰 프로젝트일수록 네트워크를 생성하는 편이다.

리액트 함수형/클래스형차이

함수형 컴포넌트시 코드가 간결해진다.예를들어 useEffect사용시 클래스형의 componendidmount와 componentDidUpdate등을 동시에 할 수 있다.

profile
내가 볼려고 만든 블로그

0개의 댓글