기본 Flow
이미지 pull - 컨테이너 생성 - 네트워크 생성 - 네트워크 연결
0 - (1). sudo -s 입력 (관리자 권한을 통해서 시작하기 ★★)
0 - (2). 컨테이너 확인하고 켜져있으면 중지, 삭제 => docker ps -a => docker stop (컨테이너이름) => docker rm (컨테이너이름)
0 - (3). 이미지 확인하고 있으면 삭제 => docker images => docker rmi 이미지이름(태그 이름까지 쓰기 ex. goingtodev/node:v1.0)
(1) 터미널 명령어: docker pull mysql:latest (이미지 이름:태그 이름)
(2) 터미널 명령어: docker images (다운로드한 Docker 이미지 확인)
(1) mysql 컨테이너인 경우 : doker run --name mysql(예시 이름) -e MYSQL_ROOT_PASSWORD=<Docker 비밀번호> -d -p 3306:3306 mysql:latest(컨테이너 이름:Tag 이름)
(1) docker network create net(네트워크 예시 명칭) <=네트워크 만들기
(2) docker network inspect net(네트워크 예시 명칭) <= 네트워크 및 ip 확인
(3) docker network connect net mysql(컨테이너 예시 명칭) <= 네트워크 연결
(4) mysql의 IP주소 확인
(1) 확인한 mysql의 IP주소를 express/model/database.js에서 로컬 주소 부분에 바꿔 넣기.
(2) Dockerfile 이라는 이름으로 파일 생성.
(3) 터미널 명령어: docker build -f Dockerfile -t <이미지 이름> . <== 이미지 이름쓰고 '한 칸 띄고 마침표'까지 적기.
(1) 터미널 명령어: docker run -it -p 3000:3000 --name node(컨테이너 이름) goingtodev/node:v1.0 (이미지 이름:Tag) bash (bash 꼭 입력!!)
(2) docker network connect net node (node 파일 컨테이너 명칭) <= 네트워크 연결
(3) docker network inspect net(네트워크 이름) <= 네트워크 및 ip 확인
(1) mysql -u root -p (로그인) 입력
(2) Docker 비밀번호 입력
(3) SHOW DATABASES; 입력
(4) create database board; 입력
Github Action 사용한다면 이후 작업(수정 등)을 터미널(관리자)에서 다룰 때