π 곡λΆνλ μ§μ§μνμΉ΄λ μ²μμ΄μ§?
[Docker] λ컀 컨ν μ΄λ λ° node μ€ν λ³Έλ¬Έ
[Docker] λ컀 컨ν μ΄λ λ° node μ€ν
μ§μ§μνμΉ΄ 2023. 3. 23. 13:31<λ³Έ λΈλ‘κ·Έλ μλ¦¬μ€ IoT 1λ₯Ό μ°Έκ³ ν΄μ 곡λΆνλ©° μμ±νμμ΅λλ€ :-)>
π Docker
컨ν μ΄λ κΈ°λ° κ°μν λꡬ (κ°μν : OS μμμ λ 립μ μΈ OS μ€ν)
λ³κ°μ OS μ²λΌ 보μ (=VM, νλμ¨μ΄ κ°μν)
컨ν μ΄λλΌκ³ λΆλ¦¬λ νλμ μμ μννΈμ¨μ΄ μ λμμ
μ΄ν리μΌμ΄μ κ³Ό κ·Έμ νμν μμ€ν ν΄, νκ²½μ€μ , λͺ¨λ λνλμλ₯Ό νλμ λ¬Άμ΄μ
λ€λ₯Έμλ², λ€λ₯ΈνΌμ¨ κ·Έ μ΄λ€κ³³μλ μ½κ² λ°°ν¬νκ³ μμ μ μΌλ‘ ꡬλν μ μκ² λμμ£Όλ ν΄
π VM vs Docker
VM
: λμΌν μ΄ν리μΌμ΄μ μ λ€μν OSμμμ ꡬλνκΈ° μν μννΈμ¨μ΄
: κ°κ°μ VMμλ OSκ° μ¬λΌκ°κΈ° λλ¬Έμ κ΅μ₯ν 무κ²κ³ λλ¦Ό
Docker
: νλμ¨μ΄μ μ€μΉλ μ΄μ체μ μ Container Engine(Docker) λΌλ μννΈμ¨μ΄λ₯Ό μ€μΉν΄ κ°λ³μ μΈ Containerλ₯Ό λ§λ€μ΄ κ°κ°μ μ΄ν리μΌμ΄μ μ κ³ λ¦½λ νκ²½μμ ꡬλ
: VMμ κ²½λν λ²μ
π Container λ§λ€κΈ°
λ컀νμΌμ λ§λ€μ΄μ μ΄κ±Έλ‘ μ΄λ―Έμ§λ₯Ό λ§λ€κ³ λ§λ€μ΄μ§ μ΄λ―Έμ§λ‘ 컨ν μ΄λλ₯Ό ꡬλ
1. Dockerfile
: 컨ν μ΄λλ₯Ό μ΄λ»κ² λ§λ€μ΄μΌ νλμ§μ λν μ€λͺ μ
- μ΄ν리μΌμ΄μ μ ꡬλνκΈ° μν νμΌμ 무μμΈκ°
- μ΄λ€ dependenciesλ₯Ό λ€μ΄λ°λκ°
- νμν νκ²½λ³μ
- μ΄λ»κ² ꡬλν΄μΌνλμ§μ λν script
2. Image
: μ΄ν리μΌμ΄μ μ μ€ννλλ° νμν μ½λ, λ°νμ, νκ²½, μμ€ν ν΄, μμ€ν λΌμ΄λΈλ¬λ¦¬ λ± ν¬ν¨
μ€νλκ³ μλ μ΄ν리μΌμ΄μ μ μνλ₯Ό μ΄λ―Έμ§λ‘ λ§λ€μ΄λλ€κ³ μκ°νμ
*νλ² λ§λ€μ΄μ§λ©΄ λ³κ²½μ΄ λΆκ°λ₯*
3. Container
: Imageλ₯Ό κ³ λ¦½λ νκ²½μμ κ°λ³μ μΈ μμ€ν μμμ μ€νν μ μλ 곡κ°
container μμμ imageλ₯Ό μ΄μ©ν΄ μ°λ¦¬μ μ΄ν리μΌμ΄μ μ΄ κ΅¬λ
π Container λ°°ν¬ λ°©λ²
1. λ΄ λ‘컬μμ λ§λ μ΄λ―Έμ§λ₯Ό Container Registry μ Push
2. μλ²λ Container Registryμμ μ΄λ―Έμ§λ₯Ό Pull λ‘ λΉκ²¨μμ μ¬μ©
3. μλ²μλ Docker μ€μΉ νμ
π Docker μλ μ΄μ 리
1. μ¬μ©μλ Localμ Dockerλ₯Ό μ€μΉν ν Dockerfileμ λ§λ¦
2. Dockerfileμ build μμΌ Imageλ‘ λ§λ¦
3. λ§λ Imageλ₯Ό Container Registryμ Push
4. μ€μλ²μ Dockerλ₯Ό μ€μΉ ν ν Container Registryμμ Imageλ₯Ό Pull
5. Dockerμμ Imageλ₯Ό run
π λ컀 컨ν μ΄λ μ’ λ£ ν
docker commit <컨ν
μ΄λId> <μ μ₯νκ³ μΆμ μ΄λ―Έμ§ μ΄λ¦>
docker run -it <μ μ₯ν μ΄λ―Έμ§ μ΄λ¦>
π λ컀 컨ν μ΄λ λμ νμΈ
docker run -d -p 80:80 docker/getting-started
μΈλΆμμ μλ ν¬νΈ : μμμ μλ ν¬νΈ
π λ컀 νλ‘μΈμ€ νμΈ
docker ps -a
π λ컀 μ΄λ―Έμ§ μ€μΉν΄λ³΄μ₯
docker run -itd -p 5003:5000 node:18-alpine
π shellλ‘ λ€μ΄κ°κΈ°
docker exec -it bcb sh
π κΈ°λ³Έ ν¨ν€μ§ μ€μΉ
npm init
npm instsall express
π app.js λ§λ€κΈ°
vi app.js
// app.js
var express = require("express");
var app = express();
app.get("/", (req, res) =>{
res.send("hello world");
console.log("success!");
});
app.listen(5000);
π app.js μ€ννκΈ°
node app.js
μ΄γΈ γ ν¬νΈ λ²νΈλ~~~~
λ΄ λ°μ€ν¬νμμ 5003 (μΈλΆ) μ΄κ³ , κ·Έμ λ컀 컨ν μ΄λ(node μμ app.listen) μ 5000(λ΄λΆ) μ°κ²°
docker run -itd -p 5003:5000 node:18-alpine
'π©βπ» μ»΄ν¨ν° ꡬ쑰 > About Computer' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Docker] λ컀 μ΄λ―Έμ§μ λ컀 컨ν μ΄λ (0) | 2023.03.23 |
---|---|
[Docker] λ컀 Compose μ€μ΅ν΄λ³΄κΈ° (0) | 2023.03.23 |
[ν΄λΌμ°λ] AWS λ€νΈμνΉ & AWS Route 53 & VPC (0) | 2023.03.22 |
[ν΄λΌμ°λ] AWS RDS & S3 & CloudFront (0) | 2023.03.22 |
[ν΄λΌμ°λ] AWS μ€ν λ¦¬μ§ : EBS & EFS (0) | 2023.03.22 |