docker (10)
2025-09-22 20:17:10
반응형

1. Django 환경 구축하기


1-1. 빌드 도구/의존 패키지 설치하기

sudo apt update

sudo apt install -y \
  build-essential make curl ca-certificates git \
  libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev \
  libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev \
  libffi-dev liblzma-dev uuid-dev

1-2. pyenv 설치

curl https://pyenv.run | bash

1-3. 셸 초기화(.bashrc) 설정 추가하기

# 홈디렉토리에서 파일 목록 보기

ls -al

vi .bashrc

vi 편집기에서 Shift + G 단축키로 맨 아래로 이동 후 아래 설정 추가
# 해당 부분을 문서 가장 아래 추가
export PYENV_ROOT="$HOME/.pyenv"
command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"

1-4. 쉘 재시작 

exec $SHELL

1-5. pyenv설치 확인

pyenv


2. pyenv를 활용한 파이썬 가상 환경 구축하기


파이썬 버전 확인 및 설치

2-1. 설치 가능한 파이썬 버전 확인

pyenv install --list

2-2. pyenv 최신화하기

cd ~/.pyenv && git pull

2-3. Python 설치하기

pyenv install 3.11.9

2-4. pyenv 버전 확인

pyenv versions

2-5. 기본 사용 버전 지정

pyenv global 3.11.9

2-6. Python 버전 확인

python -V

3. 가상 환경 생성 및 활성화하기

3-1. 가상 환경 생성하기

pyenv virtualenv 3.11.9 py3_11_9
pyenv versions

3-2. 가상 환경 활성화하기

pyenv activate [가상환경이름]
pyenv activate py3_11_9

3-3. 라이브러 설치 진행

python -m pip install --upgrade pip setuptools wheel

3-4. 필요한 파이썬 라이브러리 설치하기

웹프레임워크 : django
웹서버와 통신하기 위한 라이브러리 : gunicorn
파이썬에서 PostgreSQL활용하기위해 사용하는 라이브러리 : psycopg2-binary
pip install django gunicorn psycopg2-binary

3-5. 파이썬 인터프리터에서 import 및 version 확인

python

import django
import gunicorn
import psycopg2

django.__version__
gunicorn.__version__
psycopg2.__version__

quit()

3-6. tree 설치하기

sudo apt install tree
cd ..
cd work
tree ./

3-7. Django 실행을 위한 네트워크 설정

 

반응형
2025-09-19 11:09:02
반응형
docker network ls

 

docker container ls -a
docker container start [my-ubuntu:0.1 Container ID]
docker container attach [my-ubuntu:0.1 Container ID]
ifconfig

 

 

nice@myserver01:~$ docker container run -it --network=host my-ubuntu:0.1 bash
root@myserver01:/# ifconfig
root@myserver01:/# exit

 

nice@myserver01:~$ docker container run -it --network=bridge my-ubuntu:0.1 bash
root@myserver01:/# ifconfig
root@myserver01:/# exit

 

nice@myserver01:~$ docker container run -it --network=none my-ubuntu:0.1 bash
root@myserver01:/# ifconfig
root@myserver01:/# exit


 

 


 

 


 


 

 

 


도커 컨테이너 네트워크 퀴즈

Q1. 네트워크 드라이버 비교

  1. ubuntu 이미지를 이용해 컨테이너를 각각 네트워크 모드로 실행하시오. (net-tools 또는 iproute2 설치)
    • bridge
    • host
    • none

 


 

 

 

 

    2. 컨테이너 내부에서 네트워크 정보를 확인해 결과를 비교하고 차이를 확인하세요. (ifconfig 또는 ip addr)

  • apt-get update && apt-get install -y iproute2
  • ip a

Q2. 파일 전송

  • 호스트 ↔ 컨테이너 파일 전송
    1. 호스트에서 work/ch03/ex01/hello.txt 파일을 만든다. (내용은 자유)
    2. 실행 중인 컨테이너의 /home 디렉토리로 복사하시오.
    3. 컨테이너 내부에서 해당 파일을 확인하시오.
  • 컨테이너 ↔ 호스트 파일 전송
    1. 컨테이너 내부에서 /home/hello.txt 를 복사해 /home/hello2.txt 로 만든 뒤, 현재 시간(date)을 추가하시오.
    2. 이 파일을 호스트의 work/ch03/ex01 디렉토리로 복사하시오.
    3. 호스트에서 파일이 잘 복사되었는지 확인하시오.
반응형
2025-09-18 11:31:50
반응형
# openjdk 검색
docker search openjdk

 

# docker mysql
docker search mysql

 

# 실행 중인 컨테이너만 표시
docker container ls

# 컨테이너 전체 목록 표시 (실행 중 및 정지 상태)
docker container ls -a

반응형
2025-09-18 01:12:03
반응형

🐳 리눅스(Ubuntu)에서 Docker 설치하기

1. 사전 준비 사항

필요한 패키지 설치

sudo apt-get update  
# 패키지 목록을 최신으로 갱신

sudo apt-get install \
    ca-certificates \
    curl \
    gnupg \
    lsb-release
# 도커 설치에 필요한 기본 도구 설치
# - ca-certificates : 보안 인증서 관련
# - curl : 인터넷에서 파일 다운로드
# - gnupg : 보안 키 관리
# - lsb-release : Ubuntu 버전 확인용

2. GPG 키 추가

sudo mkdir -m 0755 -p /etc/apt/keyrings
# 도커 키를 저장할 폴더 생성 (권한 0755)

sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg | \
    sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
# 도커 공식 GPG 키를 다운로드 후 변환하여 저장


3. Docker 리포지토리 추가

echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" \
| sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# 도커 소프트웨어를 받을 수 있는 저장소(repository)를 시스템에 등록
 
 
 
 

4. Docker 엔진 설치

sudo apt-get update
# 저장소 등록 후 다시 패키지 목록 업데이트

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
# 도커 본체와 관련 도구 설치
# - docker-ce : 도커 엔진 (Community Edition)
# - docker-ce-cli : 도커 명령어 도구
# - containerd.io : 컨테이너 관리 런타임
# - docker-buildx-plugin : 확장 빌드 도구
# - docker-compose-plugin : 여러 컨테이너 실행 도구
 

💡 설치 중 Y 를 입력해야 설치가 진행됩니다.


5. 설치 확인

docker # 도커 명령어 실행 → 사용 가능한 옵션이 나오면 정상 설치


6. 도커 서비스 상태 확인

systemctl status docker # 도커 서비스가 실행 중인지 확인 # active (running) 이 나오면 정상 실행 중


7. 일반 사용자도 도커 사용 가능하게 설정

sudo usermod -aG docker $USER
# 현재 사용자를 docker 그룹에 추가 → sudo 없이 사용 가능

exit
# 세션 종료 후 다시 로그인해야 반영됨


8. 도커 버전 확인

docker version # 도커 클라이언트/서버 버전 확인


9. 샘플 실행 (Hello World)

docker run hello-world 

# 도커 허브에서 hello-world 이미지 다운로드 후 실행 
# 정상 설치 시 안내 메시지 출력


📊 설치 과정 시각화 (Mermaid)

 

 


🔧 현업에서 도커 설치 후 하는 일

  1. 개발 환경 구축
    • 팀원이 같은 환경에서 개발 → 환경 차이 줄임
  2. 테스트 서버 운영
    • docker-compose 로 웹 서버, DB, 캐시 서버 쉽게 띄움
  3. 자동 배포 파이프라인 구축 (CI/CD)
    • 깃허브 푸시 → 도커 이미지 빌드 → 서버 자동 배포
  4. 클라우드 서비스 연계
    • AWS ECS, EKS, GCP GKE 등에서 컨테이너 기반 운영

✅ 정리

  • Docker 설치는 패키지 준비 → 키 등록 → 저장소 추가 → 엔진 설치 순서
  • 설치 후 docker run hello-world 로 정상 동작 여부 확인
  • 현업에서는 개발환경 통일, 테스트 자동화, 마이크로서비스 운영에 필수

 

더보기

🐳 Ubuntu에서 Docker 설치 요약

1. 사전 준비

sudo apt-get update sudo apt-get install ca-certificates curl gnupg lsb-release

2. GPG 키 추가

sudo mkdir -m 0755 -p /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | \ sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
 

3. 리포지토리 등록

echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \ https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" \ | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

4. Docker 설치

sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

5. 설치 확인

docker # 명령어 확인 
systemctl status docker # 실행 상태 확인 
docker version # 버전 확인

6. 일반 사용자 권한 추가

sudo usermod -aG docker $USER 
exit # 로그아웃 후 다시 로그인

7. 샘플 실행

docker run hello-world

📊 설치 흐름 (Mermaid)

 
 

✅ 현업 활용

  • 팀원 모두 같은 개발환경 공유
  • 테스트/운영 서버에 빠른 배포
  • CI/CD 자동화 (GitHub, Jenkins와 연동)
  • 클라우드 연계 (AWS ECS/EKS, GCP GKE 등)

 

반응형
2025-09-18 00:59:19
반응형

# 🐳 Docker 사용 가이드

## 1. 도커 구성 요소

### 📌 주요 구성요소

- **Docker Client (docker-cli)**  
    사용자가 터미널에서 명령어 입력 (예: `docker run`)
    
- **Docker Daemon (dockerd)**  
    백그라운드에서 실행, 컨테이너/이미지 관리
    
- **containerd**  
    컨테이너의 전체 생애주기 관리 (생성, 실행, 중지, 삭제)
    
- **runc**  
    실제 컨테이너 실행 담당
    
- **containerd-shim**  
    containerd ↔ runc 중간 연결자, 실행 조정
    

---

### 📊 도커 구성요소 다이어그램

```mermaid
flowchart TD
    A["사용자 (Docker CLI)"] --> B["Docker Daemon (dockerd)"]
    B --> C["containerd (컨테이너 생애주기 관리)"]
    C --> D["runc (컨테이너 실행)"]
    C --> E["containerd-shim (중개자)"]
```


---

## 2. 도커 실행 환경

- **리눅스**: 바로 설치 가능 (CLI 환경 위주)
    
- **윈도우 / macOS**:
    
    - Docker Desktop 패키지 사용 (내부적으로 리눅스 VM 실행)
        
    - 사용자는 VM 신경 안 쓰고 일반 프로그램처럼 실행 가능
        

---

### 📋 도커 Desktop 요구사항

- **윈도우**
    
    - Windows 10 64bit (Pro, Enterprise, Education) / Build 16299 이후
        
    - Home 버전은 WSL2 필요
        
    - CPU 가상화(SLAT) 지원, 메모리 4GB 이상
        
- **macOS**
    
    - 2010년 이후 모델
        
    - macOS 10.13 이후, 메모리 4GB 이상
        
- **리눅스**
    
    - Ubuntu 16.04 이후 등 주요 배포판 지원
        

---

## 3. 도커 동작 방식

### 📊 동작 흐름

```mermaid
sequenceDiagram
    participant U as 사용자 (docker run)
    participant C as Docker Client
    participant D as Docker Daemon
    participant H as Docker Hub
    participant N as Container

    U->>C: docker run hello-world
    C->>D: 명령 전달
    D->>H: 이미지 요청 (hello-world)
    H-->>D: 이미지 다운로드
    D->>N: 컨테이너 생성 및 실행
    N-->>U: 실행 결과 출력
```



---

### 📦 이미지와 컨테이너

- **이미지(Image)**
    
    - 프로그램 + 라이브러리 + 설정을 묶은 패키지
        
    - "빵틀" 같은 역할
        
    - 여러 개의 "레이어(Layer)"로 구성
        
- **컨테이너(Container)**
    
    - 이미지를 실행한 인스턴스
        
    - 실행/중지/삭제 가능
        
    - 독립된 파일 시스템과 환경을 가짐
        

---

## 4. 도커 첫 실행 (Hello World)

### 🚀 명령어

`# 도커 "hello-world" 컨테이너 실행 docker run hello-world`  

### 📝 한 줄씩 설명

- `docker` → 도커 명령어 실행
    
- `run` → 새로운 컨테이너를 실행하겠다는 의미
    
- `hello-world` → Docker Hub에서 제공하는 기본 테스트 이미지
    

---

### ⚡ 실행 과정

1. 사용자가 `docker run hello-world` 입력
    
2. Docker Client → Docker Daemon에 명령 전달
    
3. Daemon이 Docker Hub에서 이미지 다운로드
    
4. Daemon이 컨테이너 생성 및 실행
    
5. 실행 결과를 사용자 터미널에 출력
    

---

## 5. 컨테이너가 가벼운 이유

- 운영체제를 하나씩 포함하는 VM과 달리,  
    **호스트 OS 커널을 공유**해서 불필요한 리소스 사용이 없음.
    
- 따라서 실행 속도도 빠르고, 메모리/디스크 효율도 좋음.
    

---

## 6. 현업에서 도커 활용 사례

- **개발 환경 공유**
    
    - 팀원 모두 같은 개발 환경 사용 (환경 차이로 인한 문제 방지)
        
- **테스트 및 배포 자동화 (CI/CD)**
    
    - GitHub Actions, Jenkins, GitLab CI/CD와 연계해 자동 배포
        
- **마이크로서비스 운영**
    
    - 여러 개의 독립적인 컨테이너로 서비스 운영 (예: 웹, DB, 캐시 분리)
        
- **클라우드 환경과 결합**
    
    - AWS ECS, EKS / GCP GKE / Azure AKS 등과 함께 사용
        

---

# ✅ 정리

- 도커는 **이미지 → 컨테이너 실행 구조**
    
- **Docker CLI → Daemon → containerd → runc** 흐름
    
- 현업에서는 **개발환경 통일, 자동화 배포, 마이크로서비스 운영**에 필수
    

---

👉 여기까지 하면 **도커 사용 구조 + 설치 + 동작 원리 + Hello World 실습**을 전체적으로 이해할 수 있어요.

반응형
2025-09-17 13:51:45
반응형

# 🐳 Docker 가상화 및 컨테이너 관리

## 1. 도커(Docker) 이해하기

### 📌 도커란?

- **도커(Docker)** 는 **프로그램을 격리해서 실행**시켜주는 도구예요.
    
- "내 컴퓨터에서는 되는데, 다른 컴퓨터에서는 안 돼!" 👉 이런 문제를 해결해줘요.
    
- **컨테이너(Container)** 라는 상자 안에 프로그램을 넣고 실행합니다.
    
- 가상머신(VM)보다 **가볍고 빠르다**는 장점이 있어요.
    

---

## 2. 가상화 vs 컨테이너


```mermaid
flowchart LR
    A["물리 서버<br/>💻"] --> B["가상화 (VM)<br/>🗂️"]
    A --> C["컨테이너 (Docker)<br/>📦"]

    B --> B1["운영체제 포함<br/>⚙️"]
    B --> B2["리소스 사용 많음<br/>📈"]

    C --> C1["공유 OS 위 실행<br/>⚡"]
    C --> C2["리소스 사용 적음<br/>💡"]
```



- **가상화(VM)**: 운영체제(OS)를 여러 개 띄워서 무거움.
    
- **컨테이너(Docker)**: 운영체제를 공유하므로 가볍고 빠름.
    

---

## 3. 도커의 기본 개념

- **이미지(Image)**: 프로그램을 찍어낼 수 있는 "빵틀" 같은 것.
    
- **컨테이너(Container)**: 이미지를 실행해서 만들어진 "빵" 같은 것.
    
- **도커 엔진(Docker Engine)**: 컨테이너를 만들고 실행시키는 프로그램.
    
- **도커 허브(Docker Hub)**: 전 세계 사람들이 만든 이미지를 공유하는 "앱스토어" 같은 곳.
    

---

## 4. 도커 컨테이너 생애주기

```mermaid
flowchart TD
    A[📦 이미지] --> B[▶️ 컨테이너 생성]
    B --> C[⏸️ 실행 중]
    C --> D[⏹️ 중지]
    D --> E[🗑️ 삭제]
    C --> F[🔄 새로운 버전으로 교체]
```



- 컨테이너는 **일회용품**처럼 쓰고 버리는 게 기본.
    
- 데이터는 **호스트 서버 디스크**에 따로 저장해두어야 안전해요.
    

---

## 5. 도커의 장점과 단점

|✅ 장점|⚠️ 단점|
|---|---|
|한 대의 서버에 여러 개 실행 가능|리눅스 프로그램만 지원|
|관리하기 쉽다|서버가 죽으면 컨테이너도 영향|
|개발환경 통일|컨테이너 1개만 쓰면 비효율|

---

## 6. 도커 기본 명령어 예시 (한 줄씩 주석 포함)


```bash
# 도커 허브에서 nginx(웹 서버) 이미지 다운로드
docker pull nginx  

# nginx 이미지를 이용해 컨테이너 실행 (이름을 myweb으로 지정)
docker run --name myweb -d -p 8080:80 nginx  

# 현재 실행 중인 컨테이너 확인
docker ps  

# 컨테이너 중지
docker stop myweb  

# 컨테이너 삭제
docker rm myweb  

# 이미지 삭제
docker rmi nginx  
```


📝 **설명**


- `docker pull nginx` → "nginx라는 빵틀을 가져온다"
    
- `docker run` → "그 빵틀로 빵(컨테이너)을 굽는다"
    
- `docker ps` → "지금 오븐에서 굽고 있는 빵들 확인"
    
- `docker stop` → "빵 굽는 거 멈추기"
    
- `docker rm` → "빵 버리기"
    
- `docker rmi` → "빵틀 버리기"
    

---

## 7. 현업에서 도커 활용 사례

- **개발 환경 통일**
    
    - 팀원 모두 같은 환경에서 개발 가능
        
    - "내 컴퓨터에서는 되는데?" 문제 해결
        
- **테스트 환경**
    
    - 새 버전 프로그램을 쉽게 테스트 가능
        
    - 예: 개발 → 테스트 → 운영 배포
        
- **마이크로서비스**
    
    - 여러 개의 작은 서버(웹, DB, API)를 컨테이너로 각각 실행
        
    - 서로 독립적이라 관리가 쉬움
        
- **CI/CD 자동화**
    
    - 깃허브 → 도커 빌드 → 서버 배포 자동화
        
    - 실무에서 **Jenkins, GitHub Actions, GitLab CI** 등과 자주 같이 씀
        

---

## 🚀 정리

- 도커는 **가볍고 빠른 가상화 기술**
    
- **이미지 → 컨테이너** 구조
    
- **현업에서는 개발환경 공유, 배포 자동화, 마이크로서비스 운영**에 필수

반응형
2019-10-09 20:08:05
반응형

1. S3 2개 생성

 

Bucket name과 Region은 Asia pacific (Seoul) 설정 후 Next

 

 

2번째 버킷도 동일하게 생성

 

 

설정없이 Next

 

 

3. Set permissions

 

Block all public access 체크 해제 후 Next

 

Create Bucket 클릭

 

 

 

 

S3 버킷 2개 생성 완료

 

2. Cloud Front 생성

 

Create Distribution 클릭

 

 

Get Started Click

 

 

앞에서 만든 S3 Bucket 2개 중 1개 Click

 

 

Origin ID는 자동으로 설정됩니다.

 

 

CND & SSL 설정

 

도메인 앞에 cdn을 붙여서 설정 해준 후

SSL Certificate - Custom SSL Certificate 기존에 생성된 SSL Click

 

Create Distribution Click

 

 

Cloud Front 생성완료

 

3. ROUTE 53 설정

 

DNS management  - Hosted zones Click

 

 

 

 

Domain Click

 

 

Name : cdn / Type : A

 

 

 

Alias - Yes

Alias Target : CloudFront 선택

Create - Click

 

4. ECR 생성

 

Services - ECR 검색

 

 

 

 

Create a repository - Get Started Click

 

 

Repository name : docker-wordpress

Create repository - Click

 

ECR 생성완료

 

이제 Docker를 이용하여 이미지를 올려줍니다.

반응형
2019-10-04 11:48:31
반응형

출처 AWS / intel

 

최소기능제품, 최소 실행 가능 제품((완전한 제품 출시 전에 최소 실행 가능한 형태로 출시하여 고객들의 반응을 살펴봄))

 

출처 AWS / intel

 

출처 AWS / intel

 

 

[docker prune 명령어 정리]

docker container prune 
- 중지된 모든 컨테이너를 삭제

docker image prune
- 이름없는 모든 이미지를 삭제

docker volume prune 
- 도커 컨테이너에서 사용하지 않는 모든 docker 볼륨을 삭제 // 사용하지 않는 볼륨이 정확히 뭔지..?

docker system prune --all 
- 중지된 모든 컨테이너, 사용되지 않은 모든 네트워크,
하나 이상의 컨테이너에서 사용되지 않는 모든 이미지를 삭제

 

[docker run help]

-d, Run container in background and print container ID
-d, 백그라운드에서 컨테이너 실행 및 컨테이너 ID 인쇄

-e, --env list Set environment variables
-e, --env 목록 환경 변수 설정

mkdir -p wordpress

 -p

 --parents

 상위 경로도 함께 생성


cd workpress
mkdir wordpress_db

[mysql 설치]

docker run -d --name wordpressdb -e MYSQL_DATABASE=wordpress -e `
MYSQL_ROOT_PASSWORD=password -v $pwd/wordpress_db:/var/lib/mysql mysql:5.7

 

[wordpress 설치]

# --volumes-from [컨테이너 이름] : -v가 설정된 컨테이너의 볼륨을 같이 공유
docker run -it `
--name volumes_from_container `
--volumes-from wordpressdb `
wordpress

 

[mysql 설치]

# --volumes-from [컨테이너 이름] : -v가 설정된 컨테이너의 볼륨을 같이 공유
docker run -d --rm --name wordpressdb `
-e MYSQL_DATABASE=wordpress `
-e MYSQL_ROOT_PASSWORD=password `
-e MYSQL_USER=wordpress `
-e MYSQL_PASSWORD=password1234 `
-v $pwd/wordpress_db:/var/lib/mysql `
mysql:5.7

[wordpress 설치]

docker run -it --rm -p 8080:80 `
--name volumes_from_container `
--link wordpressdb:db `
-e WORDPRESS_DB_HOST=db `
-e WORDPRESS_DB_USER=wordpress `
-e WORDPRESS_DB_PASSWORD=password1234 `
-e WORDPRESS_DB_NAME=wordpress `
-e WORDPRESS_TABLE_PREFIX=wp_ `
wordpress

docker run -it --rm -p 8080:80 `
--name volumes_from_wordpressdb `
--link wordpressdb:db `
-e WORDPRESS_DB_HOST=db `
-e WORDPRESS_DB_USER=wordpress `
-e WORDPRESS_DB_PASSWORD=password1234 `
-e WORDPRESS_DB_NAME=wordpress `
-e WORDPRESS_TABLE_PREFIX=wp_ `
wordpress

 

----------

# Dockerfile을 이용한 실습

```Dockerfile
FROM ubunti:latest

CMD pwd
```


```bash
docker build -t docker-custom .
docker run -it --rm -p 8080:80 wordpress-custom:latest

```

------------------------------------------------------------

nginx 복습

Docker Build
docker build -t hello-nginx .

Docker Run
docker run -it --rm -p 8080:80 hello-nginx:latest

 

반응형
2019-10-04 00:07:39
반응형
반응형
2019-10-02 11:40:49
반응형

구글에 vscode 검색 후 다운로드

 

 

윈도우용 vscode 다운로드

 

사용자 환경에 맞는 버전으로 설치를 진행합니다.

 

설치 파일이 다운로드 완료되면 실행

 

 

 

 

 

 

 

 

압축 풀기

 

 

 

 

 

vscode program을 재시작하여 Open Folder를 클릭

 

 

Dockerfile 클릭

 

반응형