1. ๋์ปค(docker) ๋?
Docker๋ Go์ธ์ด๋ก ์์ฑ๋ ๋ฆฌ๋ ์ค ์ปจํ ์ด๋ ๊ธฐ๋ฐ์ผ๋ก ํ๋ ์คํ์์ค ๊ฐ์ํ ํ๋ซํผ
- ๊ฐ์ํ ์ฌ์ฉ ์ด์ ?
์ปดํจํฐ(์๋ฒ)์ ์ฑ๋ฅ์ ํจ์จ์ ์ผ๋ก ์ฌ์ฉํ๊ธฐ ์ํด ๊ฐ์ํ๋ฅผ ์ฌ์ฉํจ.
- ์ปจํ ์ด๋๋?
๋ ผ๋ฆฌ์ ์ธ ๊ณต๊ฐ(์ปจํ ์ด๋)์ ๋ง๋ค์ด ๋ค์ํ ์ดํ๋ฆฌ์ผ์ด์ ์ ์ค์นํด ํ๋์ ์๋ฒ์ฒ๋ผ ์ฌ์ฉํ ์ ์๋ ํจํค์ง
- ์ปจํ ์ด๋์ ํน์ง?
โ ์์๋ญ๋น์ ๋ถ๋ด์ด ์ ์
โก ์คํ ์๋๊ฐ ๋น ๋ฆ
โข ๋ฐฐํฌ ๋ฐ ๊ด๋ฆฌ๋ฅผ ๋จ์ํ๊ฒ ํด์ค
โฃ ์ปจํ ์ด๋ ์ด๋ฏธ์ง๋ฅผ ์ฝ๊ฒ ๊ณต์ ๋ฐ ์ฌ์ฉ ๊ฐ๋ฅ
2. ๋์ปค ์ค์น(์๋์ฐ)
1) ์๋์ฐ ๋ฒ์ ์์ Docker๋ Hyper-V ๊ธฐ๋ฐ์ผ๋ก ๊ฐ๋ฐ๋์๊ธฐ ๋๋ฌธ์ ์ค์น๋ฅผ ์งํํ์ผ ํจ
* ์ ์ดํ -> ํ๋ก๊ทธ๋จ ๋ฐ ๊ธฐ๋ฅ -> Windows ๊ธฐ๋ฅ ์ผ๊ธฐ/๋๊ธฐ -> Hyper-V ์ฒดํฌ(์ค์น ํ ์ฌ๋ถํ )
2) Docker Desktop Windows ๋ฒ์ ์ ๋ค์ด๋ก๋ ๋ฐ ์ค์น
https://docs.docker.com/desktop/install/windows-install/
3) ๋ค์ด๋ก๋ ํ์ผ ์ค์น ์งํ(์ค์น ์๋ฃ ํ PC ์ฌ๋ถํ )
2-1. WSL2 ํ์ฑํ
- Docker๋ ๋ฆฌ๋ ์ค ๊ธฐ๋ฐ์ผ๋ก ๋์ํ๋ค. ๋ฐ๋ผ์ ์๋์ฐ ํ๊ฒฝ์์ ๋ฆฌ๋ ์ค๋ฅผ ์ฌ์ฉํ ์ ์๋๋ก ๋์์ฃผ๋ WSL2๋ฅผ ํ์ฑํ ํด์ผํ๋ค.
- WSL(Windows Subsystem for Linux) ๋ VM๊ณผ ๊ฐ์ ๋๊ตฌ ์์ด ์๋์ฐ ํ๊ฒฝ์์ Linux๋ฅผ ์ฌ์ฉํ ์ ์๋๋ก ๋์์ค๋ค.
- Powershell์ Bash ์ฒ๋ผ ์ฌ์ฉํ๊ณ ๋ฆฌ๋ ์ค ๋ช ๋ น์ด์ ์ปค๋์ ์ฌ์ฉํ ์ ์์
1) ๊ด๋ฆฌ์ ๊ถํ์ผ๋ก Windows PowerShell ์คํ
2) ์๋ ๋ช ๋ น์ด ์คํ
# Windows SubSystem Linux๋ฅผ ํ์ฑํ์ํค๋ ๋ช
๋ น์ด
> dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
# VirtualMachinePlatform ๊ธฐ๋ฅ์ ํ์ฑํ์ํค๋ ๋ช
๋ น์ด : WSL2 ๋ฒ์ ์ ํ์ํ ๋ช
๋ น์ด
> dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
* ์ด๋, 2๋ฒ์งธ ๋ช ๋ น์ด๋ windows ๋ฒ์ ์ด 1904 ์ด์์ด์ฌ์ผ ํจ.
* ๋ฒ์ ์ ํ์ธํ๋ ค๋ฉด 'win+R -> winver ์ ๋ ฅ' ํ ์๋ ์ฌ์ง๊ณผ ๊ฐ์ windows ์ ๋ณด ์ฐฝ์์ ํ์ธ ๊ฐ๋ฅํจ.
3) x64 ๋จธ์ ์ฉ ์ต์ WSL2 Linux ์ปค๋ ์ ๋ฐ์ดํธ ํจํค์ง๋ฅผ ์ค์น
https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
4) WSL2๋ฅผ ๊ธฐ๋ณธ๋ฒ์ ์ผ๋ก ์ค์
wsl --set-default-version 2
5) ๋์ปค๊ฐ ์ ์ฑ์์ผ๋ก ์ค์น ๋์๋์ง ์๋ ๋ช ๋ น์ด๋ฅผ ํตํด ํ์ธ
docker version
2-2. ๋ฆฌ๋ ์ค ์ด๋ฏธ์ง ํ์ผ ๋์ปค์ ๋ด๋ ค๋ฐ๊ธฐ
๋์ปค์์ ๋ฆฌ๋ ์ค ์ด๋ฏธ์ง ํ์ผ์ ๋ด๋ ค๋ฐ๊ธฐ๋ฅผ ์งํํ๊ณ ์ ํ๋ค ๋ด๋ ค๋ฐ์ ๋ฆฌ๋ ์ค ์ด๋ฏธ์ง๋ ์ฐ๋ถํฌ ์ด๋ค.
1) docker์์ ์ฐ๋ถํฌ ์ฐพ๊ธฐ
docker search ubuntu
2) docker ์ฐ๋ถํฌ ๋ด๋ ค๋ฐ๊ธฐ
docker pull ubuntu
3) docker ์ด๋ฏธ์ง ํ์ธ
docker images
3) docker ์ด๋ฏธ์ง ํ์ธ
1๋ฒ์์ ์ค์นํ Docker Desktop ์ ์ ์ํ๋ฉด ์๋ ์ฌ์ง๊ณผ ๊ฐ์ด ๋ด๋ ค๋ฐ์ ์ฐ๋ถํฌ ์ด๋ฏธ์ง ํ์ผ์ ํ์ธ ๊ฐ๋ฅํจ.
4) docker ์ฐ๋ถํฌ ์ด๋ฏธ์งํ์ผ -> ์ปจํ ์ด๋ ๋ณ๊ฒฝ
docker create -it --name ubuntu_server ubuntu
3. docker ์ฐ๋ถํฌ container ์์ํ๊ธฐ
1) ์๋ ๋ช ๋ น์ด๋ฅผ ํตํด ์ฐ๋ถํฌ ์ปจํ ์ด๋๋ฅผ ์์
docker start ubuntu_server
2) docker ์ฐ๋ถํฌ ์ ์
docker attach ubuntu_server
3) docker ์ฐ๋ถํฌ ์ ๋ฐ์ดํธ, ์ ๊ทธ๋ ์ด๋ ์งํ
apt-get update
apt-get upgrade
----------------------------------------------------------------------------------------------------------------
1. ๋์ปค ์ค์น(์ฐ๋ถํฌ)
์ด๋ฒ์๋ ์ฐ๋ถํฌ ํ๊ฒฝ์์ ๋์ปค ์ค์น๋ฅผ ์งํํ๋ ๋ฐฉ๋ฒ์ด๋ค.
1) ํ์ ํจํค์ง ์ค์น
sudo apt-get update
sudo apt-get install -y \
ca-certificates \
curl \
gnupg \
lsb-release
2) Docker์Offical GPG Key ๋ฑ๋ก
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
3) stable repository ๋ฑ๋ก
echo \
"deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
2. Docker Engine ์ค์นํ๊ธฐ
1) ์๋ ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ์ฌ ์๋์ผ๋ก ์ต์ ๋ฒ์ ์ค์น
sudo apt-get install docker-ce docker-ce-cli containerd.io
2) ์ค์น ํ์ธ
sudo docker version
3) ๋์ปค ์คํํ๊ธฐ
sudo systemctl enable docker
sudo systemctl start docker
sudo systemctl enable containerd
sudo systemctl start containerd
4) ์ํํ์ธ
sudo systemctl status docker
'docker' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Docker] ์ปจํ ์ด๋ ๋ฐฐํฌํ๊ธฐ (0) | 2023.04.07 |
---|---|
[Docker] ๋์ปค์์ ๊ฐ๋ฐํ๊ฒฝ ๊ตฌ์ถํ๊ธฐ โข vscode๋ฅผ ํตํ ๋์ปค ์๊ฒฉ์ ์ (0) | 2023.04.07 |
[Docker] ๊ฐ๋ฐํ๊ฒฝ ๊ตฌ์ถํ๊ธฐ โก Node.js ์ค์น (0) | 2023.04.07 |
[Docker] ๋์ปค์์ ๊ฐ๋ฐํ๊ฒฝ ๊ตฌ์ถํ๊ธฐ โ Mysql (0) | 2023.04.07 |
[Docker] ๋์ปค ์ด๋ฏธ์ง ์์ฑ ๋ฐ ๋น๋ํ๊ธฐ (0) | 2023.04.07 |