2020. 11. 5. 23:22ใ๐ฑ Develop/devOps
1. ๋์ปค ์ค์นํ๊ธฐ
๋จผ์ homebrew๋ก ๋์ปค client๋ฅผ ์ค์นํฉ๋๋ค.
๐บ brew install Docker
์ค์น๋ฅผ ์๋ฃํ์ผ๋ฉด ์๋ ๋งํฌ๋ก ๋ค์ด๊ฐ Docker Desktop for Mac์ ์ค์นํด์ค๋๋ค.
๐ https://hub.docker.com/editions/community/docker-ce-desktop-mac
๋ฐ์คํฌํ๊น์ง ๊น์์ฃผ๋ฉด ๋ค์๊ณผ ๊ฐ์ด ์๋จ ๋ฐ์ ๊ท์ฌ์ด ๊ณ ๋ ์์ด์ฝ์ด ์๊ธฐ๋๋ฐ,
์ฌ๊ธฐ๊น์ง ์๋ฃํ๋ฉด docker version์ผ๋ก client์ server์ ์ ๋ณด๋ฅผ ํ์ธํ ์ ์์ต๋๋ค.
๋ ๋จ๊ณ๋ก ์ค์นํ๊ธฐ ๊ท์ฐฎ๋ค๋ฉด, brew cask install docker๋ก Docker Desktop for Mac๊ณผ docker-machine, docker-compose๊น์ง ํ๊บผ๋ฒ์ ์ค์น ํ ์ ์์ผ๋ ์ฐธ๊ณ ํ์๊ธธ ๋ฐ๋๋๋ค!
2. ์ค์น๋ฅผ ์๋ฃํ์ผ๋ฉด ๋์ปค๋ฅผ ์จ๋ณด์!
๋์ปค๋ฅผ ์ฌ์ฉํ ๋ ์์ฃผ ์ฌ์ฉํ๋ ๊ธฐ๋ณธ ๋ช
๋ น์ด๋ค์ด ์๋๋ฐ, ๊ฐ๋ณ๊ฒ ์ ๋ฆฌํ๊ณ ๋์ด๊ฐ๋ณด๊ฒ ์ต๋๋ค.
0๏ธโฃ (sudo) docker ps : ํ์ฌ ์คํ์ค์ธ ๋ชจ๋ ์ปจํ ์ด๋ ๋ชฉ๋ก ์ถ๋ ฅ
๊ด๋ฆฌ์ ๊ถํ์ด ์๋ค๋ฉด ์์ sudo๊ฐ ๋ถ์ด์ผ ํฉ๋๋ค. ํ์ง๋ง ๋ง์ฝ ๋งค๋ฒ sudo๋ฅผ ๋ถ์ด๊ณ ๋น๋ฐ๋ฒํธ๋ฅผ ์ ๋ ฅํ๋๊ฒ ๋ฒ๊ฑฐ๋กญ๋ค๋ฉด ๋ค์ ์ฝ๋๋ฅผ ์ ๋ ฅํด์ฃผ์ธ์.
$ sudo usermod -aG docker $USER ๐ ์ ์์ค์ธ ์ฌ์ฉ์์๊ฒ ๊ถํ ๋ถ์ฌ
$ sudo su - $USER
1๏ธโฃ *docker images *: ๋ค์ด ๋ฐ์ ์ด๋ฏธ์ง ํ์ธํ๊ธฐ
๋์ปค๋ ํฌ๊ฒ ์ปจํ ์ด๋์ ์ด๋ฏธ์ง๊ฐ ์๋๋ฐ, ๊ทธ ์ค์์ ์ด๋ฏธ์ง๋ ๊ฐ๋จํ๊ฒ **"๋ฏธ๋ฆฌ ์ธํ ํ ํ๊ฒฝ ์ค์ ์ ๋ชจ์๋์ ํ์ผ" **์ด๋ผ๊ณ ๋ณด์๋ฉด ๋ฉ๋๋ค. ์์ธํ ์ค๋ช ์ 3๋ฒ์์ ๋ค๋ฃจ๊ฒ ์ต๋๋ค.
docker images
docker search ์ด๋ฏธ์ง ์ด๋ฆ
docker pull ์ด๋ฏธ์ง ์ด๋ฆ (ex: redis, ubuntu)
docker rmi ์ด๋ฏธ์ง ์ด๋ฆ ๐ ์ด๋ฏธ์ง ์ญ์ ํ๊ธฐ
๋์ปค์ ์ด๋ฏธ์ง๊ฐ ์์ผ๋ฉด docker pull ์ด๋ฏธ์ง ์ด๋ฆ ์ผ๋ก ์ด๋ฏธ์ง๋ฅผ ๋ค์ด๋ก๋ ํ๋ฉด ๋ฉ๋๋ค.
๋ด๊ฐ ๋ฐ๊ณ ์ ํ๋ ์ด๋ฏธ์ง๊ฐ ์๋์ง ๊ถ๊ธํ๋ค๋ฉด, docker hub ์์ ์ด๋ค ์ด๋ฏธ์ง๋ค์ด ์๋์ง ํ์ธํ ์ ์์ต๋๋ค.
2๏ธโฃ docker run ์ด๋ฏธ์ง ์ด๋ฆ : ์ปจํ ์ด๋ ์คํํ๊ธฐ
๋ค์ด๋ฐ์ ์ด๋ฏธ์ง๋ฅผ docker run์ ํตํด ์คํ์์ผ์ค๋๋ค.
docker stop ์ปจํ
์ด๋ ์ด๋ฆ ๐ ๋์ปค ์ปจํ
์ด๋ ๋ฉ์ถ๊ธฐ
docker restart ์ปจํ
์ด๋ ์ด๋ฆ ๐ ๋์ปค ์ปจํ
์ด๋ ์ฌ์์
docker rm ์ปจํ
์ด๋ ์ด๋ฆ ๐ ๋์ปค ์ปจํ
์ด๋ ์ญ์
๐ ๋์ปค ์๋ช ์ฃผ๊ธฐ : run → exit →(๊ฐ์ ์ข ๋ฃ๋ stop) → restart → attatch
3. ๊ทธ๋์ ๋์ปค ์ด๋ฏธ์ง์ ์ปจํ ์ด๋๊ฐ ๋ญ๋ฐโ
- image : ๋ฏธ๋ฆฌ ์ธํ ๋ ์คํ ํ๊ฒฝ๊ณผ ์ดํ๋ฆฌ์ผ์ด์ , ํ๊ฒฝ ํ์ผ
- container : ์ด๋ฏธ์ง ์์์ ์คํ๋๋ '๊ฒฉ๋ฆฌ๋' ํ๋ก์ธ์ค
์๋์ฐ ์ค์น CD (์ด๋ฏธ์ง) / ์๋์ฐ ํ๋ก๊ทธ๋จ(์ปจํ
์ด๋)๋ผ๊ณ ์๊ฐํ๋ฉด ์ดํดํ๊ธฐ ์ฝ์ต๋๋ค.
์ปจํ
์ด๋์์ ์๋ฌด๋ฆฌ ๋ฌด์ธ๊ฐ๋ฅผ ๋ฐ๊ฟ๋ ์ด๋ฏธ์ง๋ ๋ณํ์ง ์๊ธฐ ๋๋ฌธ์, ์ ๊ทธ๋ฆผ์ฒ๋ผ ํ๋์ ์ด๋ฏธ์ง๋ก ์ฌ๋ฌ ์ปจํ
์ด๋๋ฅผ ์์ฑํ ์ ์๊ฒ ๋ฉ๋๋ค.
๐ ์ฐธ๊ณ ํ๊ธฐ
๋์ปค์ ๋ํด ๋ ์ฝ๊ฒ ์ดํดํ๊ณ ์ถ๋ค๋ฉด, ๋ค์ ์์๊ณผ ํฌ์คํ
์ ์ฐธ๊ณ ํด์ฃผ์ธ์ ๐
๋
ธ๋ง๋ ์ฝ๋, ๋์ปค์ ์ฅ์ : https://youtu.be/chnCcGCTyBg
์ํํ ์ฝ๋ฉ ์ฌ์ , ๊ทธ๋์ ๋์ปค๊ฐ ๋ญ๋ฐ? https://youtu.be/tPjpcsgxgWc
์ด๋ณด๋ฅผ ์ํ ๋์ปค ์๋ด์: https://subicura.com/2017/01/19/docker-guide-for-beginners-2.html#%EB%8F%84%EC%BB%A4-%EC%84%A4%EC%B9%98%ED%95%98%EA%B8%B0