Intro ์ง์ธ๋ค๊ณผ ์ฌ์ด๋ ํ๋ก์ ํธ๋ก ๊ฐ๋ฐํ Django ์ฑ์ deploy ํด๋ณด๋ ์์ ๋ก Docker Image๋ฅผ ๋ฐฐํฌํ๋ ๊ฐ๋จํ hands on ์ ์๊ฐํด๋ณด๊ฒ ์ต๋๋ค. Docker Image๋ก ๊ด๋ฆฌํ๋๊ฒ ๋ฐฐํฌํ ๋ ๋ฒ์ ๊ด๋ฆฌ๋ ํ๊ฒฝ ๊ตฌ์ถ ์์ ํธ๋ฆฌํ ๊ฒ ๊ฐ์์ Imageํํ์์ต๋๋ค. ์๋์ Git Repository ๊ฐ ๊ฐ๋ฐํ Django ์ฑ ์
๋๋ค. https://github.com/FoodieZone/Backend GitHub - FoodieZone/Backend Contribute to FoodieZone/Backend development by creating an account on GitHub. github.com ์์
๋ฐ ๋ฐฐํฌ ํ๊ฒฝ Host Server : ubuntu 22.04 Cloud S..
Cloud Engineering/Docker ๐ณ
ํ๋ก์ ํธ์์ ์จํ๋ ๋ฏธ์ค ํ๊ฒฝ์ ์๋ MongoDB ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ AWS DMS ๋ฅผ ์ฌ์ฉํ์ฌ S3๋ก ๋ง์ด๊ทธ๋ ์ด์
์ ํ๊ฒ ๋์๋ค..!! DMS CDC ๊ธฐ๋ฅ์ ์ฌ์ฉํด๋ณด๊ธฐ ์ํด์ mongoDB ๋ ํ๋ฆฌ์นด ์
์ ๊ตฌ์ถํด๋ณด๊ฒ ๋์๋ค. MongoDB ReplicaSet ์ด๋ ? Replica Set์ ์ฟ ๋ฒ๋คํฐ์ค์์๋ ๋ฑ์ฅํ๋๋ฐ, Mongo DB์์๋ ๊ด์ ์ด ์กฐ๊ธ ๋ค๋ฅด๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฐ์ดํฐ๋ฅผ ์ฌ๋ฌ ์๋ฒ์ ๋์ผํ ๋ฐ์ดํฐ ์
์ ์ ์ฅํ๊ณ ์ด์ํ๊ธฐ ์ํ ํด๋ฌ์คํฐ์ด๋ค. Replica Set์ ๊ตฌ์ฑํด์, ํ๋์ ์๋ฒ์ ์ฅ์ ๊ฐ ์ผ์ด๋๋๋ผ๋ ๋ค๋ฅธ ์๋ฒ๊ฐ ๋์ผํ ๋ฐ์ดํฐ ์
์ ์ด์ํ ๊ฒ์ด๋ฏ๋ก ๊ฐ์ฉ์ฑ์ ๋ณด์ฅํ ์ ์๋ค. Replica Set ์ ํจํด MongoDB์์ ๋ ํ๋ฆฌ์นด์
์ ๊ตฌ์ฑํ๋ ํจํด์ ํฌ๊ฒ ๋๊ฐ์ง์ด๋ค. 1. PSS (Prima..
HTTPS๊ฐ ๋ณด์์ ์ฐ์ํ์ง๋ง ๊ฐ๋จํ HTTP๋ก ๊ตฌ์ถํ ์๋ ์๋ค. https://sinclairstudio.tistory.com/413 [Docker] Harbor HTTPS ๊ตฌ์ฑ์ผ๋ก ๊ตฌ์ถํ๊ธฐ 1. Harbor ์ค์น https://github.com/goharbor/harbor GitHub - goharbor/harbor: An open source trusted cloud native registry project that stores, signs, and scans content. An open source trusted cloud native registry project that stores, signs, and scans con sinclairstudio.tistory.com Harbor & ..
๋ค์ด๋ก๋ ๋ฐ์ ์ ์๋ registry ๊ฒ์ํ๊ธฐ $ docker search registry registry image ๋ค์ด๋ก๋ ๋ฐ๊ธฐ $ docker image pull registry:latest registry ์ปจํ
์ด๋๋ฅผ ๋์์ฃผ๋ฉด ๊ตฌ์ถ์ด ์๋ฃ๋๋ค. docker registry ๊ฐ ๊ธฐ๋ณธ์ ์ผ๋ก ์ฌ์ฉํ๋ ํฌํธ๊ฐ 5000๋ฒ์ด๋ค ! $ docker container run -d -p 5000:5000 registry:latest PRIVATE REGISTRY์์ ์ด๋ฏธ์ง ํ์ธํ๋ ๋ช
๋ น์ด [user@localhost ~]$ curl -X GET http://localhost:5000/v2/_catalog {"repositories":[]} ํ์์ ๋ง๊ฒ registry์ ์ฌ๋ฆด ์ด๋ฏธ์ง๋ฅผ ์์ฑํ๋ค $ docker im..
1. Harbor ์ค์น https://github.com/goharbor/harbor GitHub - goharbor/harbor: An open source trusted cloud native registry project that stores, signs, and scans content. An open source trusted cloud native registry project that stores, signs, and scans content. - GitHub - goharbor/harbor: An open source trusted cloud native registry project that stores, signs, and ... github.com ์ํ๋ ๋ฆด๋ฆฌ์ฆ ๋ฒ์ ํ์ผ์ ๋งํฌ๋ฅผ ๋ณต..
docker push ๋์ปค ์ ์ฅ์์ ์ด๋ฏธ์ง๋ฅผ ์
๋ก๋ ํ๊ธฐ ์ํด์๋ ์ฐ์ ๋ก๊ทธ์ธ์ ํด์ผํ๋ค. $ docker login ๋ก๊ทธ์ธ์ด ๋๋ฉด push ๋ช
๋ น์ด๋ฅผ ํตํด ์ด๋ฏธ์ง๋ฅผ ์
๋ก๋ ํ๋ค. ์ด๋ฏธ์ง ํ์ผ์ ์ด๋ฆ ํ์์ ๊ผญ ์ง์ผ์ฃผ์ด์ผ ํ๋ค !! $ docker push ๋์ปคํ๋ธ_์ฌ์ฉ์ID/IMAGE:TAG ์
๋ก๋ํ ์ด๋ฏธ์ง ๋ํ pull ๋ช
๋ น์ด๋ก ๋ก์ปฌ์ ๋ฐ์์ฌ ์ ์๋ค.
1. commit ๋ช
๋ น์ด๋ก ์ปจํ
์ด๋๋ก ์ด๋ฏธ์ง ์์ฑ $ docker container commit [OPTION] CONTAINER NEW_IMAGE_REPO:TAG $ docker commit [OPTION] CONTAINER NEW_IMAGE_REPO:TAG [์์] centos-test1์ด๋ผ๋ ์ปจํ
์ด๋๋ฅผ mycentos:first ์ด๋ฏธ์ง๋ก ์์ฑํ๋ค. [user@localhost ~]$ docker container commit centos-test1 mycentos:first sha256:d10bbb77df85ae628a43a2e83135de2c2501dc81f9799fdd4c368e9971c776bc mycentos:first ์ด๋ฏธ์ง๊ฐ ์์ฑ๋์์์ ํ์ธํ ์ ์๋ค. [user@localhost ~]..
-p ์ต์
์ ์ง์ ํ์ฌ ํฌํธํฌ์๋ฉ์ ์ค์ ํ ์ ์๋ค. $ docker container run -dt -p HOST_PORT:CONTAINER_PORT --name CONTAINER IMAGE_REPO:TAG ๋ธ๋ฆฟ์ง ๋คํธ์ํฌ๋ฅผ ์ฌ์ฉํ๋ ๋ชจ๋ ์ปจํ
์ด๋๋ ์ธ๋ถ์์ ์ ์ํ ๋ ํฌํธํฌ์๋ฉ์ ํด์ผ ์ ๊ทผ๊ฐ๋ฅํ๋ค. ์์ web2 ์ปจํ
์ด๋์ 8080๋ฒ ํฌํธ๋ก ์ ๊ทผํ๋ ๊ฒฝ์ฐ 80๋ฒ ํฌํธ๋ก ํฌํธํฌ์๋ฉํ๋ ์์์ด๋ค. [user@localhost ~]$ docker run -d -p 8080:80 --name web2 httpd:latest 8864c0be9446bd844ec08e882f12e94c376f156c4a29bf55375020c82fb9c965 ํ์ฌ ์คํ์ค์ธ ์ปจํ
์ด๋ ๋ชฉ๋ก์ ํตํด ํฌํธ ํฌ์๋ฉ์ด ๋์๋์ง ํ์ธํ ์ ์..