이 글은 docker로 react와 express를 구동하는 것에 대한 글입니다. 참고부탁드립니다!1. node.js 설치하기1) 본인 OS 버전 확인하기cat /etc/*release* 본인의 OS 버전 정보를 확인해준다. 만약 본인의 버전이 나와 같이 amazon linux 2023이라면 이 글을 따라해도 좋다.2) node.js 설치하기sudo yum update -y 모든 소프트웨어 패키지가 최신 상태인지 확인하기 위해 패키지를 업데이트 시켜준다.curl -fsSL | sudo bash - NodeSource 저장소 설치 스크립트를 설치해준다. 여기서는 node의 버전을 18버전으로 설치한다.sudo yum install -y nodejs 위와 같은 명령어를 작성해주면, node.js와 npm이 ..
이전과 똑같이 docker container에 올린 Next.js 코드를 실시간으로 반영해주고자 한다. 이를 핫 리로드라고 하는데, 아래의 작업을 따라하면 해당 작업을 따라할 수 있다.next.config.js 수정하기module.exports = { webpackDevMiddleware: config => { config.watchOptions = { poll: 1000, aggregateTimeout: 300, } return config }, } 위와 같은 코드가 next.config.js안에 포함되어 있어야 한다.dockerfile 작성하기# Use an official Node.js runtime as a parent image FROM node:18-alpine as builder ENV CH..
기본 바탕 배경1) 이미지에 변경사항이 생기면 이를 반영하기 위해, 이미지를 다시 빌드해야 한다.이는 컨테이너를 다시 시작하더라도 변경 사항은 반영되지 않는다. 즉 이 말은 이미지를 다시 빌드해야 한다는 것이다. 이미지는 당시의 소스 코드를 정확히 복사해서 스냅샷을 만든 것이다. 따라서 그 이후의 소스 코드 변경 사항은, 이미지의 소스 코드에 포함되지 않는다. 이미지는 기본적으로 잠겨있고, 이미지의 모든 것이 읽기 전용이다. 2) 이미지는 레이어(Layer) 기반 아키텍처 구조를 가진다.Dockerfile에 지정한 모든 명령은 레이어를 나타낸다.최종명령 이전의 모든 명령은 이미 이미지의 일부이자 별도의 레이어이다.컨테이너는 이미지 위에 추가된 얇은 레이어일 뿐이다.컨테이너는 이미지에 저장된 환경을 사용하..
1. docker 이미지 생성 및 컨테이너 포트 열기1) docker images 확인하기docker images도커 이미지가 잘 생성되었는지를 확인하고, 이미지id를 확인하여 따로 복사해둔다.2) 실행중인 컨테이너 확인하기docker run -i -t -p [host port]:22 --name [컨테이너명] nvidia/cuda /bin/bash-i : 이 플래그는 interactive를 의미하고, 이는 터미널에 연결하여 컨테이너의 명령줄과 상호 작용할 수 있도록 한다. 컨테이너 내부에서 실행되는 명령이나 스크립트에 입력을 제공한다.-t : "pseudo-terminal"을 나타낸다. 터미널 장치를 할당하여 터미널에서 컨테이너의 명령 프롬프트와 터미널 출력을 볼 수 있다.-d : ‘backgroun..
: 단일 서버에서 여러 개의 컨테이너를 하나로 정의하고 실행하기 위한 도구이다. 즉 docker run을 통해서 실행하는 모든 어플리케이션은 docker-compose 명령어를 사용하여 작업하여 관리할 수 있다.docker-compose 사용 이유docker로 만든 여러 개의 컨테이너를 한번에 작업하고자 할 때가 존재한다. 웹서버는 기본적으로 프론트 엔드 서버, 백엔드 서버, 데이터베이스 서버 가 존재한다. 이를 각각 하나씩 컨테이너로 만들어 구동할 수 있게 작업해줘야 하는데, docker-compose를 사용하면 이를 한번에 작업할 수 있다.docker-compose 설치하기docker-compose는 각각의 OS환경에 따라 다르다. 그러므로 docker docs에서 본인의 환경에 맞는 OS를 선택하여..
1. docker에 코드와 일치하는 java버전 설치하기2. docker에 코드와 일치하는 tomcat버전 설치하기 3. WORKDIR 설정해서 자바설정 파일 옮기기docker를 설치했다는 가정하에 linux에서 workdir를 하나 설정하여 java파일을 옮겨놓는다.4. dockerfile을 설정하기Dockerfile : Container를 어떻게 만들어야 할지에 대한 설명서Docker Image : 어플리케이션을 실행하는 데에 필요한 코드, 런타임 환경, 시스템 라이브러리 등 모든 셋팅들을 포함하는 것Container : Docker Image를 고립된 환경에 실행시킬 수 있는 것 💡 Docker Container를 만들기 위해서는 Dockerfile를 이용해 Docker Image를 만들고 Con..
기기마다 다른 플랫폼이나 아키텍처를 가진다. 내가 원하는 환경에서 구동되면 좋겠지만 그게 아니라면 그것들을 위한 환경을 만들어줘야 한다.1) 아키텍처 확인하기uname -a접속한 기기의 아키텍처를 알 수 있다.Ubuntu에서 build한 image를 iot등에 실행시킨다면 아키텍처가 다르다.2) docker 버전 확인하기우선 docker 19.03 버전부터 사용이 가능하므로 설치되어 있는 docker의 버전을 확인해준다.3) buildkit 환경셋팅해주기sudo mkdir /etc/buildkitsudo vi /etc/buildkit/buildkitd.tomldebug = trueroot = "/var/lib/buildkit"insecure-entitlements = ["network.host", "se..