๋์ปค์ ๊ฐ์๋จธ์ ์ ์ฐจ์ด์
-
๋์ปค
ํธ์คํธ์์ ๋์ปค(๊ฐ์ ํ๋์จ์ด + ์ปค๋ ์ญํ ์ ๋ด๋น)์ ์ปจํ ์ด๋๋ค์ ์ํ๋ฆฌ์ผ์ด์ ํํ๋ก ๋์ด๋ค.
๋ฐ๋ผ์, ๊ฐ ์ปจํ ์ด๋๋ค์ด ๋์ปค์ ๊ฐ์ ํ๋์จ์ด + ์ปค๋์ ๊ณต์ ํ ์ ์๋ค. -
๊ฐ์๋จธ์
ํธ์คํธ ์์ ๊ฐ์๋จธ์ ์ ๊ฐ์๊ณต๊ฐ(๊ฐ์ํ๋์จ์ด + ์ปค๋)์ ๊ฐ ๊ฐ ์์ฑํ๋ค.
๋ฐ๋ผ์, ๊ฐ ๊ฐ์๊ณต๊ฐ๋ค์ด ์๋ก์ ๊ฐ์ ํ๋์จ์ด + ์ปค๋์ ๊ณต์ ํ ์ ์๋ค.
์ฐธ๊ณ ์ฌ์ดํธ
-
openBook_๊ฐ์ฅ ๋นจ๋ฆฌ ๋ง๋๋ Docker
๋์ปค๋ฅผ ์ฒ์ ์์ํ๋ ์ฌ๋๋ค์ด ์ฝ์ผ๋ฉด ์ข์ ๊ฒ ๊ฐ์ ์ฑ ์ด๋ค. ์ธํฐ๋ท์์๋ ๋ฌด๋ฃ๋ก ๋ณผ ์ ์๊ณ ์ ์/์ข ์ด ์ฑ ๋ชจ๋ ํ๋งค์ค์ด๋ค. ๋ฌด๋จ๋ฐฐํฌ ๋ฐ ๋ด์ฉ ์ ๋ฆฌ ํด์ ์ฌ๋ฆฌ๋ ๊ฒ๋ ์ ๋๋ค๊ณ ํ๋ค OTZ.. -
Docker ๊ธฐ๋ณธ ์ฌ์ฉ๋ฒ
์์ ์ ์๊ฐ ์ ์ด๋์ ์ฌ์ดํธ ์ด๋ค. ๊ธฐ๋ณธ ์ฌ์ฉ๋ฒ์ ๋ํด ์์ธํ๊ฒ ์ค๋ช ํ๊ณ ์๋ค. -
DockerDocument_writeinKorea
ํ๊ธ๋ก ๋์ด์๋ docker ์ฌ์ฉ๋ฒ ๋ฐ ์๊ฐ๋ฑ ํํ์ด์ง๋ค์ ์ฃผ์๋ฅผ ๋์ดํด ๋์ ๊ณณ์ธ๋ฐ ๋ช๊ฐ ๋๋ฌ๋ณด๋ ํํ์ด์ง๊ฐ ๋ณ๊ฒฝ๋๊ฑฐ๋ ํํ์ด์ง ์ฐ๊ฒฐ์ด ์์ ์ ๋๋ ๊ฒฝ์ฐ๋ ์์๋ค. -
์ด๋ณด๋ฅผ ์ํ ํ ์ปค์๋ด์
๋์ปค๋ฅผ ์ฌ์ฉํ์๋ ๋ถ์ด ์ ๋ฆฌํด ๋์ ๊ฒ์ธ๋ฐ ๊น๋ํ๋ ๋ณผ ๊ฒ์ด ๋ง๋ค.
๋ค์์ ๋ด๊ฐ ๋์์ ๊ฐ์๋ฅผ ๋ณด๊ณ ์ ๋ฆฌํ ๋ด์ฉ
๊ฐ๋จํ๊ฒ ๋ค์๋ ๊ฒ์ ์ ๋ฆฌํด ๋ณด๊ณ ์ ํ๋ค.
1. [ํ ๊ทธON์ธ๋ฏธ๋] ์ปจํ ์ด๋ ๊ธฐ๋ฐ ๊ฐ์ํ ํ๋ซํผ '๋์ปค(Docker)'์ ์ดํด 2๊ฐ
sudo docker run [OPTIONS]
40:30 - ์ปจํ
์ด๋ ๊ฐ์ ๋คํธ์ํฌ ์์ฑ
์ปจํ
์ด๋ ๋ผ๋ฆฌ ๋คํธ์ํฌ ํต์ ์ ๊ฐ๋ฅํ๊ฒ ํด์ค๋ค. ์ด ์์ ํ์ง ์์ผ๋ฉด ๊ณ์ local๋ฅผ ๊ฑฐ์ณ์ผ ํ๋ค.
๋คํธ์ํฌ๋ฅผ ๊ฐ์ ๊ณณ์ผ๋ก ์ค์ ํด์ฃผ๋ฉด, ์ปจํ
์ด๋ ์ด๋ฆ๋ง ๊ฐ์ง๊ณ ์ปจํ
์ด๋ ๋ผ๋ฆฌ ํต์ ์ ํ ์ ์๋ค.
๊ธฐ์กด์ ์์ฑ๋ ์ปจํ
์ด๋์ ๋คํธ์ํฌ๋ฅผ ์ถ๊ฐ ํ ์๋ ์๋ค.
44:30 - docker-compose.yml ์ค์ ํ์ผ๋ก ์ปจํ
์ด๋ ์์ฑ
yml ํ์ผ์ ์ค์ ์ ์ ์ฅํ๊ณ sudo docker-compose up
๋ช
๋ น์ ์คํํ๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก๋ docker-compose.yml ์ด๋ผ๋ ์ด๋ฆ์ผ๋ก ์ค์ ํ์ผ์ ์ง์ ํด์ผ ํ์ง๋ง, sudo docker-compose -f ํ์ผ์ด๋ฆ.yml up
ํ๋ฉด ํด๋น ํ์ผ์ด๋ฆ์ผ๋ก ๋ ์ค์ ํ์ผ์ ์คํํ๋ค.
48:14 - ๋ณผ๋ฅจ ๋ง์ดํธ
save data from container to local host ์ผ์ข
์ back up ์์
์ด๋ผ๊ณ ์๊ฐํ๋ฉด ๋ ๊ฒ ๊ฐ๋ค. ๋ณผ๋ฅจ ๋ง์ดํธ๋ฅผ ์ ํ๋ฉด ์ปจํ
์ด๋๊ฐ ์ฃฝ์์ ๋ ๋ชจ๋ ๋ฐ์ดํฐ๊ฐ ์ฌ๋ผ์ง๋ค. ๊ทธ๋์ ๋ฐ๋์ ์ ์ฅ์ด ํ์ํ ๋ฐ์ดํฐ๋ค์ ๋ก์ปฌ ๋ง์ดํธ๋ฅผ ํด ๋์ด์ผ ํ๋ค. = ๋์ค์ ๋ค์ ์ปจํ
์ด๋๋ฅผ ๋์๋ ๋ฐ์ดํฐ๊ฐ ์ ์ค๋๋ ๊ฒ์ ๋ง์์ค๋ค.
2. [ํ ํฌON์ธ๋ฏธ๋] ์ปจํ ์ด๋ ๊ธฐ๋ฐ ๊ฐ์ํ ํ๋ซํผ '๋์ปค'(Docker')์ ์ดํด 3๊ฐ
์ด๋ฏธ์ง ๋ง๋ค๊ณ ๋ฐฐํฌํ๊ธฐ
- ํน์ ํ๋ก์ธ์ค๋ฅผ ์คํํ๊ธฐ ์ํ ํ๊ฒฝ
- ๊ณ์ธตํ ๋ ํ์ผ ์์คํ
- ํ์ผ๋ค์ ์งํฉ
- ํ๋ก์ธ์ค๊ฐ ์คํ๋๋ ํ๊ฒฝ๋ ๊ฒฐ๊ตญ ํ์ผ๋ค์ ์งํฉ
09:00 - ์ปจํ ์ด๋์ ๋ณ๊ฒฝ ์ํฉ ์ฒดํฌํ๊ธฐ
์ปจํ
์ด๋ ์์์ ๋ณ๊ฒฝ๋ ์ํฉ๋ค์ด ์ถ๋ ฅ ๋๋ค.
11:00 - ๋ช
๋ น์ฐจ์์ ์ด๋ฏธ์ง ๋ง๋ค๊ธฐ = ์์ ํ ์ปจํ
์ด๋ ์ ์ฅํ๊ธฐ
์์ฑ ๋ ์ด๋ฏธ์ง๋ sudo docker images | grep TAG_NAME
ํ๋ฉด ์์ฑ๋ ์ด๋ฏธ์ง๋ฅผ ๋ณผ ์ ์๋ค.
16:19 - docker file ๋ง๋ค์ด์ ์ด๋ฏธ์ง ๋ง๋ค๊ธฐ
DockerFile: ์ด๋ฏธ ์์ฑ ๊ณผ์ ์ ๊ธฐ์ ํ docker ์ ์ฉ dsl
๋ง์ฝ ์ค์น๋ช
๋ น์ ์คํํ ๊ฒ ์ด๋ผ๋ฉด ์ต์
-y
๋ฅผ ๊ผญ ๋ถ์ฌ์ค์ผ ํ๋ค.
์ต์ ๊ณผ ํจ๊ป ์ฌ์ฉํ์ง ์์ ์์๋ ์ค๋ฌธ์(์ค์นํ ๋ ์ผ๋งํผ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฐจ์งํ๋๋ฐ ์ค์นํ๊ฒ ๋ ์ ํ๊ฒ ๋ ์ง๋ฌธ์ ํ๋ค.) ์๋ตํ ์ ์๊ธฐ ๋๋ฌธ์ ์ค์น๊ฐ ๋์ง ์๋๋ค.
3. ์ด๋ฏธ์ง๋
๋ช ๋ น์ด | ์ค๋ช | ์ฌ์ฉ ๋ฐฉ๋ฒ | ๋น๊ณ |
---|---|---|---|
FROM | ๋ฒ ์ด์ค ์ด๋ฏธ์ง ์ง์ | FROM <์ด๋ฏธ์ง_์ด๋ฆ> | |
ADD | ํ์ผ ์ถ๊ฐ | ADD <์ถ๊ฐํ ํ์ผ> <ํ์ผ์ด ์ถ๊ฐ๋ ๊ฒฝ๋ก> | ํ์ฌ ๋๋ ํ ๋ฆฌ ์์ ์๋ ๊ฒ๋ง ์ถ๊ฐ ๊ฐ๋ฅํ๋ค. ๊ฒฝ๋ก๋ฅผ ํตํ ์์ฑ์ ๋ถ๊ฐํ๋ค. |
RUN | ๋ช ๋ น์ด ์คํ | RUN <๋ช ๋ น์ด> | install ํ ๋ ์๋ต์ ํด์ผํ๋ ๊ฒฝ์ฐ์๋ -y ๋ฑ๊ณผ ๊ฐ์ด ์๋ต์ ๋จผ์ ๋ฃ์ด์ฃผ์ด์ผ ํ๋ค. |
WORKDIR | ์์ ๋๋ ํฐ๋ฆฌ ๋ณ๊ฒฝ | WORKDIF <๊ฒฝ๋ก> | RUN ๋ช ๋ น์ด๊ฐ ์คํ ๋ ๊ฒฝ๋ก๋ก ์ด๋ํ๋ค. |
ENV | ํ๊ฒฝ๋ณ์ ๊ธฐ๋ณธ ๊ฐ ์ง์ | ENV <์ด๋ฆ> <๊ฐ> | |
EXPOSE | ์ปจํ ์ด๋๋ก ์คํ ์ ๋ ธ์ถ์ํฌ ํฌํธ | EXPOSE <ํฌํธ๋ฒํธ> | ์ด ์ต์
์ ์ฐ๋๋ผ๋ runํ ๋ -p ์ต์
์ผ๋ก ์ธ๋ถ ํฌํธ์ ์ฐ๊ฒฐ์์ผ ์ฃผ์ด์ผ ํ๋ค. docker๊ฐ port๋ฅผ ์ฌ๋ ์ญํ ๋ ํ๊ณ , image๊ฐ ์ด port๋ฅผ ์ฌ์ฉํ๋ค๋ ์ฌ์ค์ ์๋ ค ์ฃผ๋ ์ญํ ์ ํ๋ค. |
CMD | ์ด๋ฏธ์ง์ ๊ธฐ๋ณธ ์คํ ๋ช ๋ น์ด ์ง์ | CMD <๋ช ๋ น์ด> | docker๊ฐ ์คํํ ๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์คํ ๋ ๋ช ๋ น์ด ์ค์ |
38:50 - ๋์ปค ๋ ์ง์คํธ๋ฆฌ
๋ง๋ ์ด๋ฏธ์ง๋ฅผ ์ฌ๋ ค๋๋ ๊ณณ, private๋ ํ ๊ฐ ๊น์ง๋ ๊ณต์ง์ด์ง๋ง ์ฌ๋ฌ๊ฐ๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด ๋์ ๋ด์ผํ๋ค. public์ ๋น์ฐํ ์ฌ๋ฌ๊ฐ ์ฌ์ฉํด๋ ๊ณต์ง์ด๋ค.
$ sudo docker login
$ sudo docker push ID/IMAGE_NAME:TAG
๋์ปค์ ๋ก๊ทธ์ธ ํ ์ด๋ฏธ์ง๋ฅผ pushํ ์ ์๋ค. ์์ด๋๋ dockerHub ํํ์ด์ง์์ ๋ง๋ค ์ ์๋ค.
'๐ณ Docker' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๐ณ Docker * sudo ๊ท์ฐฎ์.. ๋๋ฌด ๊ท์ฐฎ์... ์ ์น๊ณ ์ถ์ด... (0) | 2020.03.09 |
---|---|
โ Solved * [Docker] Unable to open log file /mqtt/logs/mosquitto.log for writing (0) | 2020.03.09 |
๐ณ Docker * Timezone(์๊ฐ) ์ค์ ํ๊ธฐ ! (2) | 2020.03.04 |
๐ณ Docker * ํ๊ธ ์ค์ , ํ๊ธ ๊นจ์ง ํด๊ฒฐํ๊ธฐ (0) | 2020.03.04 |