useradd -G Group-name Username
usermod -a -G Group-name Username
useradd-새 유저를 만들거나 유저의 기본 정보를 변경하거나 새유저를
2차 그룹(secondary group)에 추가
usermod 명령 – 시스템 계정을 수정 및 기존 사용자 계정을 변경
예들들어 도커실행시 사용자가 도커그룹에 추가되지 않았을 경우 sudo권한으로 실행해야 하지만 그룹에 추가 되었을 시 sudo가 필요없음
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등을 동시에 할 수 있다.