๐ข oracle cloud์ centos 8 ์ docker๋ฅผ ์ค์นํด์ spring boot ํ๋ก์ ํธ๋ฅผ ๊ตฌ๋ํด๋ณธ๋ค.
๋์ปค : ๊ฐ์์ ๊ณต๊ฐ์ ์ด๋ฏธ์ง๋ก ๋ง๋ฆ.
ํ๋์ ์ด๋ฏธ์ง๋ฅผ ํตํด ์ฌ๋ฌ๊ฐ์ ์ปจํ ์ด๋๋ฅผ ๋ง๋ค ์๋ ์์. ์ด๋ฌํ ๊ณผ์ ์ด ์์ ํ ๋ ๋ฆฝ๋ ๊ฐ์์ ๊ณต๊ฐ์์ ์คํ๋๋ค.
๊ทธ๋ฅ ํธ์คํธ์ ํฌํธ๋ฅผ ์ปจํ ์ด๋์ ํฌํธ๋ก ์ฐ๊ฒฐํ๊ธฐ๋ง ํ๋ฉด ๋๋ค.
๋์ปค ์ด๋ฏธ์ง๋ Dockerfile์ด๋ผ๋ ํ์ผ๋ก ๊ด๋ฆฌํ๊ณ , ์ปจํ ์ด๋ ์คํ ์, docker-compose ํ์ผ์ ์ด์ฉํ๋ค.
VMware ๊ฐ์ ๊ฐ์๋จธ์ ๊ณผ ๋ฌ๋ฆฌ
host OS ์์ ๋๋ค๋ฅธ OS๋ฅผ ๋์ฐ๋ ๊ฒ์ด ์๋ ๊ฐ์ OS์์ ํ๋ก์ธ์ค๋ฅผ ๊ฒฉ๋ฆฌ ์์ผ ์คํํ๊ธฐ ๋๋ฌธ์ ์คํ ์๋๊ฐ ๋น ๋ฅด๊ณ ,
CPU , memory , network ์ฑ๋ฅ ์ ํ๊ฐ ๊ฑฐ์ ์๋ค.
docker ์ค์น ์ด์ ์ yum-utils ํจํค์ง ์ค์น
$ sudo yum install -y yum-utils
docker stable ๋ฆฌํฌ์งํ ๋ฆฌ ์ถ๊ฐ.
$ sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
ํจํค์ง ๋ชฉ๋ก์์ ๋์ปค๋ฅผ ์กฐํํด๋ณธ๋ค.
$ sudo yum list | grep docker-ce
๋์ปค๋ฅผ ์ค์นํ๋ค.
$ sudo yum install -y docker-ce docker-ce-cli containerd.io
์ค์น๋ ๋์ปค ์ํ ํ์ธ :
$ systemctl status docker
๋์ปค ์คํ ๋ฐ ์๋ ์คํ ์ค์ :
$ systemctl start docker
$ systemctl enable docker
์ค์น๋ ๋ฒ์ ์ฒดํฌ :
$ docker version
* ๋์ปค ์ญ์ ์, ์ด๋ฏธ์ง, ์ปจํ ์ด๋ , ๋ณผ๋ฅจ ๋ฑ ๊ตฌ์ฑ ํ์ผ์ ์๋ ์ ๊ฑฐ๊ฐ ์๋๋ฏ๋ก, ๋ช ๋ น์ด๋ฅผ ํตํด ์์ ์ญ์ ํด์ผํ๋ค.
$ sudo rm -rf /var/lib/docker
$ sudo rm -rf /var/lib/containerd
์คํ๋ง๋ถํธ ํ ์คํธ์ฉ ํ๋ก์ ํธ๋ฅผ ๋ฐฐํฌํ๋ค.
๋ฐฐํฌ์ ์์ ํ๋ก์ ํธ์ root ๊ฒฝ๋ก์ Dockerfile ์ ์์ฑํ๋ค.
Dockerfile
# ๊ธฐ๋ณธ ์ด๋ฏธ์ง
FROM adoptopenjdk/openjdk11:jre-11.0.6_10-alpine
# ๋ณ์ ์ค์
ARG JAR_FILE=target/*.jar
# ๋น๋ํ์ผ์ ์ปจํ
์ด๋๋ก ๋ณต์ฌํ๋ค.
COPY ${JAR_FILE} app.jar
# jar ํ์ผ ์คํ.
ENTRYPOINT ["java","-jar","/app.jar" ]
๋์ปค ์ด๋ฏธ์ง๋ฅผ ๋น๋ํ๋ค. ( ๋์ปค ์ปจํ ์ด๋์ ์ฌ๋ฆด ๋น๋ํ์ผ -- jar )
$ docker build -t [์ด๋ฏธ์ง๋ช ] .
๋์ปค ์ด๋ฏธ์ง๊ฐ ๋น๋ ๋์๋ค๋ฉด ํ์ธํด๋ณธ๋ค.
$ docker images
์ด๋ฏธ์ง๋ ๋์ปค ํ๋ธ์ ์ฌ๋ ค๋๊ณ ์ฌ์ฉ ํ ์ ์๋ค.
๋์ปค ํ๋ธ ?
๋์ปค์์ ์ ๊ณตํ๋ ๊ธฐ๋ณธ ์ด๋ฏธ์ง ์ ์ฅ์ :
์ด๋ฏธ์ง ์ ์ฅ๊ณผ ๋ค์ด๋ก๋๊ฐ ๋ฌด๋ฃ๋ผ ํธ๋ฆฌํ๋ค.
๋ง๋ค์ด๋์ ์ด๋ฏธ์ง๋ ๋์ปคํ๋ธ์ ๋ชจ์๋๊ณ ๋ค์์ ๋ ์ธ ์ ์์ผ๋๊น.
์ปจํ ์ด๋๋ฅผ ์คํํด๋ณธ๋ค.
$ docker run -d -p 8080:8080 [์ด๋ฏธ์ง๋ช ]/[์ ๋๋ค]
์ค๋ผํด ํด๋ผ์ฐ๋์ ์ด์ด๋ ํฌํธ๋ก ์ ์ํด ํ์ธํด๋ณธ๋ค.
์คํ์ค์ธ ์ปจํ ์ด๋ ๋ฆฌ์คํธ๋ ๋ค์๊ณผ ๊ฐ์ด ํ์ธํ๋ค.
$ docker container ls ๋๋ $ docker ps ๋๋ ( ์ข ๋ฃ๋ ์ปจํ ์ด๋ ํฌํจ ) $ docker container ls -a
์ปจํ ์ด๋ ์ ์ : -it -> ํ์ค ์ ์ถ๋ ฅ +tty
$ docker exec -it [coantiner id] ls
์ปจํ ์ด๋ bash
$ docker exec -it [container id] /bin/bash
log ์ฒดํฌ :
$ docker logs -f [container id]
์ปจํ ์ด๋ ์ญ์
$ docker container rm [์ปจํ ์ด๋ ID]
์ข ๋ฃ๋ ๋ชจ๋ ์ปจํ ์ด๋ ์ญ์
$ docker container prune
์ฌ๋ฌ๊ฐ์ง ํ๋ก๊ทธ๋จ์ ๋์ฐ๋ ๋ฐฉ์์ ์ณ์ง ๋ชปํ๋ค๊ณ ํ๋ค.
https://okky.kr/articles/675319?note=1893871
'SERVER' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Cloud Front] ํด๋ผ์ฐ๋ ํ๋ก ํธ ๋ฌดํจํ (1) | 2023.10.19 |
---|---|
[SERVER] docker command ( Oracle cloud, ubuntu 18 ) (0) | 2023.08.24 |
[SERVER] GitLab CI CD / oracle cloud / docker (0) | 2022.12.02 |
[Server] Session ๊ณผ JWT (0) | 2022.11.29 |
iptables / centOS7 / ๋ฐฉํ๋ฒฝ ์ค์ / ๊ณต์ ๊ธฐ ํฌํธํฌ์๋ฉ ์ธํ (0) | 2022.04.24 |