๋ชฉ๋ก๐ฉ๐ป ์ปดํจํฐ ๊ตฌ์กฐ/About Computer (50)
๐ ๊ณต๋ถํ๋ ์ง์ง์ํ์นด๋ ์ฒ์์ด์ง?
๐ฉ๐ป Oh My BASH! https://ohmybash.nntoan.com/ โ ์ค์น ๋ ์ ์๋ ๋ช ๋ น์ด ํจํค์ง ์ค์น.. sudo yum install zsh sudo yum install git bash -c "$(curl -fsSL https://raw.githubusercontent.com/ohmybash/oh-my-bash/master/tools/install.sh)"
๐ Dockerfile : ์ปจํ ์ด๋๋ฅผ ์ด๋ป๊ฒ ๋ง๋ค์ด์ผ ํ๋์ง์ ๋ํ ์ค๋ช ์ ๐ ํ์ผ ๋ช ๋ น์ด FROM : ์ด๋ค ๋ฆฌ๋ ์ค๋ฅผ ์ฌ์ฉํ ๊ฒ์ธ๊ฐ COPY : ๋ณต๋ถํ ๊ฒฝ๋ก ๋ง๋ค๊ธฐ WORKDIR : ์ปจํ ์ด๋์์ ๋ช ๋ น์ด๊ฐ ์คํ๋๋ ๋๋ ํ ๋ฆฌ RUN : ์ปจํ ์ด๋๋ฅผ ๊ตฌ์ฑํ ํ์ผ ๋ง๋ค ๋ ์ฌ์ฉ CMD : ์ปจํ ์ด๋๊ฐ ์คํ๋ ํ์ ์คํํ ๋ช ๋ น์ด, ์ด๋ฏธ์ง ๋ง๋ค ๋ ์คํ ๐ Dockerfile ๋ก container ์คํํ๊ธฐ ๐ Dockerfile ์์ฑํ๊ธฐ FROM python:3.8-alpine COPY . /app WORKDIR /app RUN pip3 install flask RUN chmod +x /app/app.py CMD ["python3", "app.py"] ๐ container ๋น๋ํ๊ธฐ docker build -t flas..
๐ Flask ๋ฅผ ์ํ ์ธํ python3 download ํ๊ธฐ ๐ ํ๋ก์ ํธ ํ ํด๋ ๋ง๋ค๊ธฐ ๐ ๊ฐ์ํ๊ฒฝ์ผ๋ก ๋ค์ด๊ฐ๊ธฐ ๐ flask ์ค์นํ๊ธฐ pip install flask ๐ ํจํค์ง ๋ชฉ๋ก ํ์ธ pip freeze ๐ Flask app ์ด๊ธฐ from flask import Flask app = Flask(__name__) @app.route("/") def hello_world() : return "Hello world!!!!" if __name__ == "__main__" : app.run(host = "0.0.0.0", port = 5000)
๐ Container ๋ง๋ค๊ธฐ ๐ ์ค์น๋ image ๋ณด๊ธฐ docker ps ๐ ํ์ฌ ์คํ ์ค์ธ container ๋ณด๊ธฐ docker container ls = docker ps ๐ image ์ง์ฐ๊ธฐ container ๊ฐ exited ๋์ด๋ docker kill ~~id ๊น์ง ํด์ผ image๊ฐ ์ง์์ง docker rmi ~~
๐ Docker ๋ก nginx ๋ฐฐํฌํ๊ธฐ ๐ cmd ๋ก ๋ค์ด๊ฐ๊ธฐ docker ps ๐ nginx ์คํํ๊ธฐ docker run nginx ๐ cmd PORT:PORT host ํฌํธ (๋ ธํธ๋ถ ์ธ๋ถ ํฌํธ) : container ํฌํธ (๋ด๋ถ ํฌํธ) docker run -p 80:80 nginx ๐ Daemon ์ผ๋ก ๋์๋ณด๊ธฐ (cmd ๋ซ์๋ ์คํ๋จ) ๐ image ๋ณด๊ธฐ docker images ๐ container ๋ค์ด ์ํค๊ธฐ docker kill [container_id]
๐ ์ปจํ ์ด๋ : ์ด๋ ํ๊ฒฝ์ด๋ ์ด๋ ์ธํ๋ผ๋ก๋ ์ฝ๊ฒ ์ด๋ ๊ฐ๋ฅ : ์ ํ๋ฆฌ์ผ์ด์ ์ ์คํํ๊ธฐ ์ํ ์ปดํจํ ์์ ์ ํจํค์งํ์ฌ ์ด๋ฏธ์ง๋ก ๋ง๋ค๊ธฐ ๋๋ฌธ์ ๊ฒฝ๋ํ : ์๋ฒ๋ OS ํ๊ฒฝ์ ์ข ์์ ์ด์ง ์์ ์ง์ ํ ์ ํ๋ฆฌ์ผ์ด์ ์ด์์ฑ์ด ์คํ ๐ ํ์ดํผ๋ฐ์ด์ ๊ธฐ๋ฐ์ ๊ฐ์ํ(VM ๋ฐฉ์) : ์ ํ๋ฆฌ์ผ์ด์ ์ด ๋์๊ฐ ์ ์๋ OS ํ๊ฒฝ์ด ํฌํจ : ์ ํ๋ฆฌ์ผ์ด์ ์ ์คํํ๊ธฐ ์ํด์๋ VM์ ๋์ ์์์ ํ ๋นํ ๋ค์, OS๋ฅผ ๋ถํ ํ ํ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ๋ ์๊ฐ์ด ์ค๋ ๊ฑธ๋ฆผ ๐ ์ปจํ ์ด๋ ๊ธฐ๋ฐ์ ๊ฐ์ํ ๋ฐฉ์ : ํ๋ก์ธ์ค ๊ฐ ๋ฒฝ์ ๋ง๋ค์ด ์ ํ๋ฆฌ์ผ์ด์ ์ด ๊ตฌ๋๋๋ ํ๊ฒฝ์ด ๊ฒฉ๋ฆฌ(์ปจํ ์ด๋ํ) : ๊ฐ๊ฐ์ APP์ OS๋ฅผ ๊ฐ๋ณ๋ก ๊ตฌ์ฑํด์ค ํ์ ์์ด ํ๋์ OS ์ปค๋์ ๊ณต์ ํ์ฌ ์ฌ์ฉ : ๋ ๊ฐ๋ณ๊ณ ํฌ๊ธฐ๋ ์์ ๋ณต์ ์ ๋ฐฐํฌ์๋ ๊ฐํธ ๐ ๋์ปค ์ด๋ฏธ์ง (Doc..
๐ Docker Compose ์ฌ๋ฌ ๊ฐ์ ์ปจํ ์ด๋๋ก๋ถํฐ ์ด๋ฃจ์ด์ง ์๋น์ค๋ฅผ ๊ตฌ์ถ, ์คํํ๋ ์์๋ฅผ ์๋์ผ๋ก ํ์ฌ ๊ด๋ฆฌ๋ฅผ ๊ฐ๋จํ๊ฒ ํ๋ ๊ฒ ์ฌ๋ฌ ๊ฐ์ ์ปจํ ์ด๋ ์ค์ ๋ด์ฉ์ ํ๋์ yaml ํ์ผ์ ๋ชจ์์ ์ฌ์ฉ ๐ Dockerfile ํ์ผ FROM node:18-alpine WORKDIR /app RUN npm init -y RUN npm install express ADD app.js /app CMD ["node", "app.js"] - EXPOSE ํธ์คํธ OS์ ํฌํธ๋ฅผ ๊ณต๊ฐํ์ง ์๊ณ , ์ปจํ ์ด๋์์๋ง ํฌํธ๋ฅผ ๊ณต๊ฐ - ADD ํ์ผ์ ์ด๋ฏธ์ง์ ์ถ๊ฐ - CMD ์ปจํ ์ด๋๊ฐ ์์๋์์ ๋ ์คํฌ๋ฆฝํธ ํน์ ๋ช ๋ น์ ์คํ ๐ ๋ช ๋ น์ด docker compose up ์ ์ ํ์ผ์ ๊ธฐ์ฌ๋ ๋ด์ฉ๋๋ก ์ด๋ฏธ์ง๋ฅผ ๋ด๋ ค๋ฐ๊ณ ์ปจํ ์ด๋๋ฅผ ์์ฑ..
๐ Docker ์ปจํ ์ด๋ ๊ธฐ๋ฐ ๊ฐ์ํ ๋๊ตฌ (๊ฐ์ํ : OS ์์์ ๋ ๋ฆฝ์ ์ธ OS ์คํ) ๋ณ๊ฐ์ OS ์ฒ๋ผ ๋ณด์ (=VM, ํ๋์จ์ด ๊ฐ์ํ) ์ปจํ ์ด๋๋ผ๊ณ ๋ถ๋ฆฌ๋ ํ๋์ ์์ ์ํํธ์จ์ด ์ ๋์์ ์ดํ๋ฆฌ์ผ์ด์ ๊ณผ ๊ทธ์ ํ์ํ ์์คํ ํด, ํ๊ฒฝ์ค์ , ๋ชจ๋ ๋ํ๋์๋ฅผ ํ๋์ ๋ฌถ์ด์ ๋ค๋ฅธ์๋ฒ, ๋ค๋ฅธํผ์จ ๊ทธ ์ด๋ค๊ณณ์๋ ์ฝ๊ฒ ๋ฐฐํฌํ๊ณ ์์ ์ ์ผ๋ก ๊ตฌ๋ํ ์ ์๊ฒ ๋์์ฃผ๋ ํด ๐ VM vs Docker VM : ๋์ผํ ์ดํ๋ฆฌ์ผ์ด์ ์ ๋ค์ํ OS์์์ ๊ตฌ๋ํ๊ธฐ ์ํ ์ํํธ์จ์ด : ๊ฐ๊ฐ์ VM์๋ OS๊ฐ ์ฌ๋ผ๊ฐ๊ธฐ ๋๋ฌธ์ ๊ต์ฅํ ๋ฌด๊ฒ๊ณ ๋๋ฆผ Docker : ํ๋์จ์ด์ ์ค์น๋ ์ด์์ฒด์ ์ Container Engine(Docker) ๋ผ๋ ์ํํธ์จ์ด๋ฅผ ์ค์นํด ๊ฐ๋ณ์ ์ธ Container๋ฅผ ๋ง๋ค์ด ๊ฐ๊ฐ์ ์ดํ๋ฆฌ์ผ์ด์ ์ ๊ณ ๋ฆฝ๋ ํ๊ฒฝ์์ ..