๐๊ฐ์
- ๋์ปค๋ก Jenkins ์ปจํ ์ด๋๋ฅผ ์คํํ๋ค.
- Jenkins ์ปจํ ์ด๋์ docker-in-docker ๊ด๋ จ ์ธํ ์ ํ๋ค.
- GitLab ๋ฆฌํฌ์งํ ๋ฆฌ์ ์ปค๋ฐ์ด ๋ฐ์ํ๋ฉด, ์ค์ ํ Dockerfile์ ์คํํ๋๋ก Jenkins๋ฅผ ์ค์ ํ๋ค.
- ์์ค๋ฅผ ๋น๋ํ๊ณ , ๊ฒฐ๊ณผ๋ฅผ nginx ์ปจํ ์ด๋๋ฅผ ์คํํด ์ ์ฌํ๋๋ก Dockerfile์ ์์ฑํ๋ค.
์์ค๋ฅผ ์์ ํ๊ณ ์ปค๋ฐํ๋ฉด, Jenkins๊ฐ ์๋์ผ๋ก ๋น๋/๋ฐฐํฌํด์ ๊ฒฐ๊ณผ๋ฅผ ๊ณต์ ํ ์ ์๋ค.
๐ฏ ์์ ํ๊ฒฝ ๊ตฌ์ฑ
1. WSL2 ์ค์น
๋ง์นจ, ์ผ๋ง์ ์ปดํจํฐ๋ฅผ ํฌ๋งทํด์ WSL์ด ์ง์์ง ์ํ์๋ค. ๋ง์ดํฌ๋ก์ํํธ์์ ์ ๊ณตํ๋ ์น์ ํ ๊ฐ์ด๋๋ฅผ ๋ณด๊ณ WSL2๋ฅผ์ ๋ค์ ์ค์นํ๋ค(1). ๋ฆฌ๋ ์ค ํ๊ฒฝ์ ๋ ์พ์ ํ๊ฒ ์ฌ์ฉํ๊ณ ์ ํฐ๋ฏธ๋์ ์ค์นํ๊ณ (2), ํธ์์ฑ์ ์ํด ๊ด๋ฆฌ์ ๊ถํ์ ๋ฐ๋ก๊ฐ๊ธฐ๋ฅผ ๋ฐํํ๋ฉด์ ์์ฑํ๋ค(3).
(1) https://docs.microsoft.com/ko-kr/windows/wsl/install
(2) ์์ -> Microsoft Store -> Windows Terminal ์ค์น
(3) https://segelache.tistory.com/11
2. Docker ์ค์น
๋์ปค ๊ณต์ ํํ์ด์ง์ ๋ค์ด๊ฐ์, Windows ๋ฒ์ ์ Docker Desktop์ ๋ค์ด๋ก๋ ํ๋ค(4). ๋ฌธ์๋ฅผ ๋ณด๋ฉด WSL2 ๋๋ Hyper-V๊ฐ ์๊ตฌ๋๋ค๊ณ ๋์ด ์๋ค. WSL2๋ฅผ ์ด๋ฏธ ์ค์นํ๊ธฐ ๋๋ฌธ์ ์๊ตฌ์ฌํญ์ ๋ง์กฑํ๋ค. ์ค์น ์ ์ต์ ์ ์์ ํ ๊ฒ ์์ด ๊ทธ๋๋ก ์ค์นํ๋ค .
(4) https://docs.docker.com/desktop/windows/install
๐ฏ Jenkins ์คํ ๋ฐ ์ค์น
1. Jenkins ์ปจํ ์ด๋ ์คํ
Docker Desktop์ ์คํํ๊ณ ํฐ๋ฏธ๋์ ์ผ Ubuntu ์ปค๋งจ๋ ์ฐฝ์ ์ด๊ณ , ์๋ ๋ช
๋ น์ด๋ฅผ ์คํํด์ค๋ค.
๋ช
๋ น์ด์ ๋ํ ์์ธํ ์ค๋ช
์ ์๋ ๋๋ณด๊ธฐ๋ฅผ ๋๋ฌ ํ์ธํด๋ณด์!
docker run -d \
-p 9090:8080 -p 50000:50000 \
-v /var/jenkins:/var/jenkins_home \
-v /var/run/docker.sock:/var/run/docker.sock \
--name jenkins \
-u root \
jenkins/jenkins:lts-jdk11
-d
๋ฐฑ๊ทธ๋ผ์ด๋ ๋ชจ๋๋ก ์ปจํ ์ด๋๋ฅผ ์คํํ๋ค. ์ด ์ต์ ์ ๋ถ์ด์ง ์์ผ๋ฉด ํฌ๊ทธ๋ผ์ด๋๋ก ์คํ๋๋๋ฐ, ๊ฒ์์ ์ ์ฒดํ๋ฉด์ผ๋ก ์คํํ๋ ๊ฒ๊ณผ ๋น์ทํ๋ค๊ณ ์๊ฐํ๋ฉด ์ฝ๋ค. ์ฐ๋ฆฌ๋ ํ๋๋ง ์ผ๋๊ณ ๊ตฌ๊ฒฝํ ๊ฒ์ด ์๋๊ธฐ ๋๋ฌธ์, ๋ฐฑ๊ทธ๋ผ์ด๋๋ก ์คํํ๋ ์ต์ ์ ๊ผญ ๋ถ์ฌ์ฃผ์.
-p
๋์ปค ์ปจํ ์ด๋์๋ ์ธ๋ถ์ ํต์ ํ ํฌํธ๊ฐ ์กด์ฌํ๋ค. ํด๋น ํฌํธ๋ฅผ ํ์ฌ ๊ธฐ๊ธฐ์ ํฌํธ์ ์ฐ๊ฒฐํด์ฃผ๋ ์์ ์ด๋ค. ์ง๊ธ์ ๊ฒฝ์ฐ ๋ก์ปฌ ํธ์คํธ์์ 9090์ผ๋ก ์ ๊ทผํ๋ฉด ์ปจํ ์ด๋์ 8080 ํฌํธ๋ก ์ ๊ทผํ๋ ๊ฒ์ด ๋๋ค. ๋์ปค์์ ์ปจํ ์ด๋์ ํต์ ๋ฐฉ๋ฒ์ ๋งค์ฐ ์ค์ํ๊ธฐ ๋๋ฌธ์, ๊ธฐํ๊ฐ ๋๋ค๋ฉด ๊ผญ ๊ณต๋ถ(5)ํด๋ณด์.
-v
์ปจํ ์ด๋๋ ์ญ์ ๋๋ฉด ๊ทธ ์์ ์ ๋ณด๊ฐ ๋ชจ๋ ๋ ์๊ฐ๊ธฐ ๋๋ฌธ์, '๋ณผ๋ฅจ'(6)์ด๋ผ๋ ๊ฒ์ด ์กด์ฌํ๋ค. ์งํ์ฌํญ ๋ฑ ๋ฐ์ดํฐ์ ๋ณด์กด์ ์ํด ๋ณผ๋ฅจ์ ์ค์ ํด์ฃผ์. ํฐ๋ฏธ๋์์ /var/jenkins ํด๋์ ๋ค์ด๊ฐ๋ณด๊ณ , ๋์ปค ์ปจํ ์ด๋์ ๋ค์ด๊ฐ(7) ๋ด์ฉ์ ๋น๊ตํด๋ณด์. ๋ก์ปฌ์ /var/jenkins ํด๋๊ฐ ์๊ฒผ๊ณ , ๊ทธ ์์ ๋์ปค ์ปจํ ์ด๋๋ฅผ ์คํํ๋ฉฐ ์์ฑ๋ /var/jenkins_home์ ํ์ผ๋ค์ด ๋ณต์ฌ๋์ด ์์์ ์ ์ ์๋ค.
--name
์ปจํ ์ด๋๋ฅผ ์กฐ๊ธ ๋ ํธํ๊ฒ ์ง์นญํ๊ธฐ ์ํด ์ด๋ฆ์ ๋ถ์ฌ์ค๋ค.
-u
๊ณ์ ๊ณผ ๊ด๋ จ๋ ์ต์ ์ด๋ค. root๋ก ํด์ผ ๊ถํ ์์ ๋ฌธ์ ๋๋ฌธ์ ์ ๋จน์ ์ผ์ด ์์ ๊ฒ์ด๋ค.
(5) https://velog.io/@ckstn0777/%EB%8F%84%EC%BB%A4-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-%EA%B5%AC%EC%A1%B0
(6) https://velog.io/@ckstn0777/%EB%8F%84%EC%BB%A4-%EB%B3%BC%EB%A5%A8
(7) docker exec -it jenkins sh
2. Jenkins GUI ์ ์
Jenkins์ GUI ๋๊ตฌ๋ 8080 ํฌํธ๋ฅผ ์ฌ์ฉํ๋ค. ์ด๊ฒ์ ํ์ฌ ๊ธฐ๊ธฐ์ 9090ํฌํธ์ ์ฐ๊ฒฐํ์ผ๋, localhost:9090์ผ๋ก ์ ์ํด๋ณด์.
http://localhost:9090/
Jenkins๊ฐ Unlock ํ์ด์ง์์ ์ค์ ํ์ ๋ ์๋ ๋น๋ฐ๋ฒํธ๋ฅผ ์๊ตฌํ๊ณ ์๋ค๋ฉด ์ ์์ด๋ค. ๋นํฉํ์ง ๋ง๊ณ ๋ค์ ํฐ๋ฏธ๋๋ก ๋์๊ฐ docker logs jenkins๋ฅผ ์คํํด๋ณด์. ์๋ ์ฌ์ง์ ํ์๋ ๋ถ๋ถ์ ๋ณต์ฌํด ๋ถ์ฌ๋ฃ์ผ๋ฉด ์ ๊ธ์ด ํด์ ๋๋ค. ์ฌ๊ธฐ๊น์ง Jenkins๋ฅผ ๋์ปค ์ปจํ ์ด๋๋ฅผ ์ฌ์ฉํด ๋์ฐ๊ณ ์ ๊ทผํ๋ ๋ฐ ํ์ํ ์ค์ ์ ์๋ฃํ๋ค!
3. Jenkins ํ๋ฌ๊ทธ์ธ ์ค์น
์ถ์ฒํ๋ ํ๋ฌ๊ทธ์ธ์ ์ค์นํ๋ผ๊ณ ๊ถ์ ํ๋ ํ์ด์ง๊ฐ ๋์ค๋๋ฐ, ๋๋ ์ง์ ์ ํํ๋ ์ค๋ฅธ์ชฝ์ ํด๋ฆญํ๊ณ ๋ค์ ์ทจ์๋ฅผ ๋๋ฌ ํ๋ฌ๊ทธ์ธ ์ค์น๋ฅผ ๊ฑด๋๋ฐ์๋ค(ํ๋ฌ๊ทธ์ธ์ ์ค์นํ๊ณ ๊ณ์ ์ ์ค์ ํด๋ ๋ฌด๋ฐฉํ๋ค). ๋จ, ๊ณ์ ์ค์ ๊น์ง ๊ฑด๋๋ฐ๊ฒ ๋๋๋ฐ ๊ธฐ๋ณธ๊ฐ์ผ๋ก ์ค์ ๋ ์์ด๋๋ admin, ๋น๋ฐ๋ฒํธ๋ ์๊น ๋งจ ์ฒ์ Unlock ๋๋ ์ฌ์ฉํ๋, docker logs jenkins์ ๊ทธ ๊ฐ์ด๋ค.
๋จผ์ ํ๋ฌ๊ทธ์ธ์ ๋ฐ๋ก ์ค์นํด๋ณด์. ์ ์ฌ์ง๊ณผ ๊ฐ์ด ์ฐพ์๊ฐ๋ฉด, ์๋ ์ฌ์ง์ฒ๋ผ ํ๋ฌ๊ทธ์ธ์ ๊ฒ์ํด ์ค์นํ ์ ์๋ ๊ด๋ฆฌ์ ํญ๋ชฉ์ด ์๋ค. ์ค์น ๊ฐ๋ฅ ํญ๋ชฉ์ผ๋ก ๋๊ณ "GitLab", "Docker"๋ฅผ ๊ฒ์ํด์ ๊ฐ๊ฐ ์์ 4๊ฐ์ ํ๋ฌ๊ทธ์ธ๋ค์ ๋ชจ๋ ์ค์นํด์ค๋ค. ๋ถ์ํ๋ค๋ฉด ์๋ ๋ชฉ๋ก๊ณผ ๋์กฐํด ํ์ธํด๋ณด์.
- Generic WebhookTrigger Plugin
- Gitlab API Plugin
- GitLab Authentication plugin
- GitLab Plugin
- Docker API Plugin
- Docker Commons Plugin
- Docker Pipeline
- Docker Plugin
4. docker in docker ์ค์
์, ์ฌ๊ธฐ์ ๋๋ Jenkins์ ๋์ด์ ์ค์นํด์ผ๋๋ ๊ฒ์ด ๋น์ฐํ ์๋ค๊ณ ์๊ฐํ๋ค. ๊ทธ๋์ ์ค์ ์ ๋ง์น๊ณ Jenkins๋ก ๋น๋๋ฅผ ํด๋ดค๋๋ฐ, Jenkins๊ฐ ๋์ปค ๋ช ๋ น์ด๋ฅผ ์ดํดํ์ง ๋ชปํ๊ณ ์์๋ค! ๋๋ ๋ถ๋ช ํ๋ฌ๊ทธ์ธ์ ์ค์นํ๋๋ฐ! ํ์ฐธ์ ๊ณ ์ํ ๋์ ๋ ๊ทธ๋ฌ๋ฏ์ด ํ ๋ธ๋ก๊ทธ์์ ๊ทธ ์ด์ ๋ฅผ ์ฐพ์๋ค.
https://postlude.github.io/2020/12/26/docker-in-docker/
- Jenkins๊ฐ ๋์ปค์ '๊ธฐ๋ฅ์ ์ด์ฉ'ํ ์ ์๋ ํ๋ฌ๊ทธ์ธ์ ์ค์นํ ๊ฒ์ด์ง, ์ปจํ ์ด๋ ์์์ ๋์ปค ๋ช ๋ น์ด๋ฅผ ์คํํ ์ ์๋ ํ๊ฒฝ์ด ๊ตฌ์ฑ๋ ๊ฒ์ ์๋์๋ค.
- ๋ฐ๋ผ์ ๊ฒฝ์ฐ์ ๋ฐ๋ผ Jenkins ๋ด๋ถ์ ๋์ปค๋ฅผ ์คํํ๊ธฐ ์ํด์๋, ๋์ปค๋ฅผ ์ค์นํด์ผ ํ๋ค. ๋จ, ๋์ปค ์ ์ฒด๋ฅผ ์ค์นํ๋ ๊ฒ ๋์ ์ ๋์ปค ํด๋ผ์ด์ธํธ๋ง ์ค์นํ๋ ๊ฒ์ ๊ถ์ฅํ๋ค.
- ํด๋ผ์ด์ธํธ๋ง ์ค์นํด๋ ๋๋ ์ด์ ๋ ์์์ ๋์ปค ๋ณผ๋ฅจ์ ์ด์ฉํด , ํ์ฌ ๋ก์ปฌ PC์ ๋์ปค ๋ฐ๋ชฌ์ ๋น๋ ค์ธ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค(8).
๊ฒฐ๊ตญ Jenkins ๋ด๋ถ์ ๋์ปค ํด๋ผ์ด์ธํธ๋ง ์ค์นํด์ฃผ๋ฉด ๋๋ ๊ฒ์ด๋ค(9). ์๋ ๋ช ๋ น์ด๋ get.docker.com์์ ๋น๋๋ ์์ถํ์ผ ์๊ฐ์ ธ์ ์์ถํด์ ํ๋ค. ํ์ผ์ docker์ dockerd ๋๋ ํ ๋ฆฌ๋ก ์ด๋ฃจ์ด์ ธ์๋๋ฐ, ๊ฐ๊ฐ์ ํด๋ผ์ด์ธํธ์ ์์ง์ด ํฌํจ๋์ด์๋ค(10).
(8) https://www.hanumoka.net/2019/10/14/docker-20191014-docker-jenkins-docker-in-docker/
(9) https://stackoverflow.com/questions/38675925/is-it-possible-to-install-only-the-docker-cli-and-not-the-daemon
(10) https://github.com/moby/moby/issues/15360
# ๋ก์ปฌ์์ ๋์ปค ๋ฒ์ ์ ํ์ธํ๋ค.
docker --version
# ํด๋น ๋ช
๋ น์ด๋ก ์ปจํ
์ด๋ ๋ด๋ถ๋ก ์ ์ํ๋ค.
docker exec -it -u root jenkins sh
# ์ปจํ
์ด๋ ๋ด๋ถ์์ ์
๋ ฅํ๋ค(๋์ปค ๋ฒ์ ์ ๋ก์ปฌ ๋ฒ์ ๊ณผ ํต์ผ์์ผ์คฌ๋ค).
DOCKER_VERSION=19.03.5
curl -fsSL https://download.docker.com/linux/static/stable/x86_64/docker-$DOCKER_VERSION.tgz | tar zxvf - --strip 1 -C /usr/local/bin docker/docker
๐ฏ Jenkins ์ค์ ๋ฐ GitLab ์ฐ๋
๋จผ์ GitLab์ Jenkins์ ์ฐ๋ํ ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ํ๋ ๋ง๋ค๊ณ , ๋น๋ ์ ์ ๋น๋ ๊ฐ๋ฅํ ์์ค๋ฅผ ์ฌ๋ ค๋๋ค.
ํ๋ก์ ํธ๋ฅผ ๋ง๋ค์๋ค๋ฉด, ์์ค์ฝ๋ ๊ด๋ฆฌ ํญ์ ๋ค์ด๊ฐ์ Git์ ์ฒดํฌํด์ค๋ค. ์ฌ๊ธฐ์ Repository URL์ ์๊น ์์ฑํ ๋ฆฌํฌ์งํ ๋ฆฌ์ ์ฃผ์๋ฅผ ๋ณต๋ถํ๋ฉด ๊ถํ ๊ด๋ จ ์๋ฌ๊ฐ ๋ ๊ฒ์ด๋ค. ์ฃผ์์ ์ ์ ์ด๋ฆ๊ณผ GitLab ํ ํฐ์ ํฌํจ์์ผ ๋ค์๊ณผ ๊ฐ์ ํ์์ผ๋ก ์ ๋ ฅํ๋ค.
http://username:personal_access_token@repository_url
์๋ฌ๊ฐ ์ ๋ฌ๋ค๋ฉด, ๋ค์์ผ๋ก Credentials์ Add๋ฅผ ๋๋ฌ ๊ณ์ ์ ์ถ๊ฐํด์ฃผ์. ์๋ฌด๊ฒ๋ ๊ฑด๋๋ฆฌ์ง ์๊ณ Username, Password, ID๋ง ์ ๋นํ ์ ๋ ฅํ๋ค. ์ถ๊ฐํ๊ณ ๋์, Credentials์ -none-์ ๋ฐฉ๊ธ ์์ฑํ ๊ณ์ ์ผ๋ก ๋ฐ๊ฟ์ค๋ค.
์ด๋ป๊ฒ ๋น๋๋ฅผ ํ ๊ฒ์ธ์ง ๋ฐฉ๋ฒ์ ๊ฒฐ์ ํ๋ค. ์ฐ๋ฆฌ๋ Jenkins ๋ด๋ถ์ ๋์ปค ํด๋ผ์ด์ธํธ๋ฅผ ์ค์นํ๊ธฐ ๋๋ฌธ์, ์ ์คํฌ๋ฆฝํธ๋ก๋ ๋์ปค์ ๋ช ๋ น์ด๋ฅผ ์ผ๋ง๋ ์ง ์ฌ์ฉํ ์ ์๋ค! ์๋ ๋ช ๋ น์ด๋ฅผ ๊ทธ๋๋ก ์ ๋ ฅํ๊ณ ์ ์ฅ์ ๋๋ฌ ๋น ์ ธ๋์ค์. ์ด์ ํด๋น ๋ช ๋ น์ด๊ฐ ์ ๋๋ก ๋์ํ ์ ์๋๋ก, Dockerfile๋ง ์์ฑํ๋ฉด ๋์ด๋ค!
docker build -t hello_hhlab:latest .
docker run -d -p 80:80 hello_hhlab
๐ฏ Dockerfile ์์ฑ
๋น๋ํ ์์ค ์์๋ก Vue ํ๋ก์ ํธ(vue-cli ์ด์ฉ(11))๋ฅผ ๋ฆฌํฌ์งํ ๋ฆฌ์ ์ฌ๋ ค๋๋ค. ์ฌ๊ธฐ์ ์์ฑํ ํ์ผ์ ๋๊ฐ๋ค.
nginx/default.conf
Dockerfile
https://programmerk.tistory.com/51?category=883634
ํ์ฐธ ํด๋งฌ๋ปํ๋๋ฐ, ์น์ ํ ๋ธ๋ก๊ทธ์ ๋์์ ๋ฐ์๋ค. ๋ ์์ธํ ๋ด์ฉ์ ์ ๋ธ๋ก๊ทธ๋ฅผ ์ฐธ๊ณ ํ๋ฉด ์ข์ ๋ฏ ํ๋ค. default.conf๋ nginx ํด๋ ๋ฐ์ ์์ฑํด์(12) ์๋ฒ์ ๊ธฐ๋ณธ์ ์ธ ์ค์ ์ ํด์ค๋ค.
Dockerfile์ ํฌ๊ฒ ๋ ๋จ๊ณ๋ก ๋๋๋ค. node ์ปจํ ์ด๋๋ก Vue ํ๋ก์ ํธ๋ฅผ ๋น๋ํ๋ ๋จ๊ณ, nginx ์ปจํ ์ด๋์ ์์ฑํ ์ค์ ํ์ผ(default.conf)์ ๋ณต์ฌํ๊ณ , ๋น๋ํ Vue ํ๋ก์ ํธ๋ฅผ ์ฌ๋ฆฌ๋ ๋จ๊ณ์ด๋ค(13).
(11) https://cli.vuejs.org/guide/creating-a-project.html#vue-create
(12) https://gonna-be.tistory.com/20
(13) https://programmerk.tistory.com/51?category=883634
๐ซ ์ฌ๊ธฐ๊น์ง ๊ฒฝ์ฐ์ ๋ฐ๋ผ ์ถ๊ฐ๋ก ๋ฐ์ํ ์ ์๋ ์ค๋ฅ๋ค
PC์ ์ค์นํ ๋ ๊ฒช์์ผ๋, ๋ ธํธ๋ถ์ ์ค์นํ ๋ ๊ฒช์ง ์์ ์ค๋ฅ๋ค์ ๋ชจ์๋ค.
ํด๋น ๋ช ๋ น์ด๋ก ์คํํ๋๋ฐ, ์ปจํ ์ด๋๊ฐ ์๊พธ Up์ด ์๋ Exited ์ํ๋ก ๋ณด์ผ ๋(๋ณผ๋ฅจ ๊ถํ ๋ฌธ์ ) : https://chiftkey.tistory.com/3
์ฝ๊ฐ ๋ค๋ฅธ ๋ฌธ์ ์ง๋ง ์ ๋ ๊ฐ์๊ธฐ ์คํฌ๋ฆฝํธ๊ฐ ์คํ์ด ์ ๋๋ ๊ฒฝ์ฐ๋ ๋ฐ์ํ์์ต๋๋คใ
ใ
:
https://itpro.tistory.com/100
docker.sock์ permission denied๊ฐ ๋ฐ์ํ๋ ๊ฒฝ์ฐ :
https://github.com/occidere/TIL/issues/116
๐ ๋ง์ง๋ง์ผ๋ก...
- ์์ฑํ ํ์ผ๋ค์ ๋ฆฌํฌ์งํ ๋ฆฌ์ ํธ์ฌํ๊ณ Jenkins๋ฅผ ํ์ธํด๋ณด์.
- ์ค๋ฅ๊ฐ ๋๋ค๋ฉด ๋ค์ Build Now๋ฅผ ๋๋ฌ๋ณด์.
- ๊ทธ๋๋ ์ค๋ฅ๊ฐ ๋๋ค๋ฉด ๋น๋๋ฅผ ํด๋ฆญํด Console Output์ ํ์ธํ๋ค. (์ค๋ฅ๋ฅผ ๋ณด๊ณ ํด๊ฒฐํด์ผ ํ๋ค.)
์ ์ซ์ํ๋ค๋ฉด ์ ๋๊ฒ ์ง๋ง, ๋๋ PC์์ ์ค์นํ ๋์ ๋ ธํธ๋ถ์ ์ค์นํ ๋ ๋ถ๋ช ๊ฐ์ ์์ ์์๋ ๋ค๋ฅธ ํ๋ฉด๊ณผ ์ค๋ฅ๋ฅผ ๋ง์ด ๋ง์ฃผํ ์ ์์๋ค. ๋๋ ์ฒ์ ๋ณด๋ ๋ถ์ผ๋ผ ์ฝ์ง ์์์ง๋ง, ์ฐจ๊ทผ์ฐจ๊ทผ ์ด๋ค ์ผ์ด ์ผ์ด๋๊ณ ์๋์ง ์ดํดํ๋ ค๊ณ ํ๋ค๋ฉด ์ค๋ฅ๋ ๊ธ๋ฐฉ ์์ ํ ์ ์์ ๊ฒ์ด๋ผ๊ณ ์๊ฐํ๋ค! ๊ฒฐ๊ณผ๋ฅผ ํ์ธํด๋ณด์.
http://localhost:80/
'๐ป > ์ธํ๋ผ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๊ฒฝ์ค์ ] Ubuntu 22.04 - ๋ ธํธ๋ถ (0) | 2023.08.09 |
---|---|
.yaml ์์ ์ค ๋ฐ๊ฟํ๋ 9๊ฐ์ง ๋ฐฉ๋ฒ (0) | 2023.04.27 |
[BackEnd] CI/CD, Jenkins๋? (0) | 2022.06.28 |
[Docker] Docker, JAVA๋ก MSA ๊ตฌ์ถํ๊ธฐ (0) | 2022.05.07 |
[Linux] amd / arm (0) | 2021.07.31 |