cd test-app
npx create-react-app <app_이름 = .(그냥 현재 디렉토리에 만듦)>
sudo rm -rf $(xcode-select -print-path)
xcode-select --install
index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<link rel="icon" href="%PUBLIC_URL%/favicon.ico" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="theme-color" content="#000000" />
<meta
name="description"
content="Web site created using create-react-app"
/>
<link rel="apple-touch-icon" href="%PUBLIC_URL%/logo192.png" />
<link rel="manifest" href="%PUBLIC_URL%/manifest.json" />
<title>React App</title>
</head>
<body>
<div id="root"></div>
</body>
</html>
index.js
import React from 'react';
import ReactDOM from 'react-dom';
import './index.css';
import App from './App';
import reportWebVitals from './reportWebVitals';
ReactDOM.render(
<React.StrictMode>
<App />
</React.StrictMode>,
document.getElementById('root')
);
reportWebVitals();
App.js
import logo from './logo.svg';
import './App.css';
function App() {
return (
<div className="App">
<header className="App-header">
<img src={logo} className="App-logo" alt="logo" />
<p>
Hello World!
</p>
<a
className="App-link"
href="https://reactjs.org"
target="_blank"
rel="noopener noreferrer"
>
Learn React
</a>
</header>
</div>
);
}
export default App;
npm run start
npm run build
# nginx 이미지를 사용합니다. 뒤에 tag가 없으면 latest 를 사용합니다.
FROM nginx
# root 에 app 폴더를 생성
RUN mkdir /app
# work dir 고정
WORKDIR /app
# work dir 에 build 폴더 생성 /app/build
RUN mkdir ./build
# host pc의 현재경로의 build 폴더를 workdir 의 build 폴더로 복사
ADD ./build ./build
# nginx 의 default.conf 를 삭제
RUN rm /etc/nginx/conf.d/default.conf
# host pc 의 nginx.conf 를 아래 경로에 복사
COPY ./nginx.conf /etc/nginx/conf.d
# 80 포트 오픈
EXPOSE 80
# container 실행 시 자동으로 실행할 command. nginx 시작함
CMD ["nginx", "-g", "daemon off;"]
server {
listen 80;
location / {
root /app/build;
index index.html;
try_files $uri $uri/ /index.html;
}
}
#이미지 이름(식별자/이름) : otyvs1109/nginx-react
#도커 허브에 올리기 위해서는 이미지 이름에 식별자로 도커 허브 ID를 추가해야 함
sudo docker build --tag otyvs1109/nginx-react .
docker images
sudo docker push otyvs1109/nginx-react
인스턴스에 탄력적 IP 할당하기 ➡️ https://soobarkbar.tistory.com/224?category=929495
터미널에서 AWS EC2 인스턴스에 접속하기 ➡️ https://soobarkbar.tistory.com/223
ssh webRTC
sudo yum -y upgrade
sudo yum -y install docker
docker -v
sudo service docker start
sudo docker login
docker run
명령은 이미지가 없다면 받아서 컨테이너 실행까지 한번에 진행한다. run
명령을 통해 React 앱을 실행.sudo docker pull otyvs1109/nginx-react
sudo docker run -d --name HelloWorld -p 80:80 -dt otyvs1109/nginx-react