날짜가 지나니 hyperv가 release되어... ip가 바뀌어 생기는 문제가 있었다
해결 하는 법
가상머신 콘솔에 로그인 후
다음 코드 입력
nmcli con up eth0
지난시간 복습
- pod 반들기
podman pod create --publish 5000:5000 --publish 80:3000 --name workshop-app
5000:5000 : 레지스트리 포트
외부에서 인프라에서 받아보는 포트 위치
gogs는 3000번 포트를 사용
- pod에 gogs와 docker-registry를 넣어주기
-gogs: 3000/TCP
-docker0registry: 5000/TCP
인프라 사용자는 외부에서 접근
access 포트포워드
아직 app을 실행시키지 않았으므로 list로 조회안됨
podman run -d --name docker-registry --pod workshop-app docker.io/library/registry:latest
podman pod ls
위 코드 실행하면 infra id 얻을 수 있음 해당 정보로 port 정보 조회하면 아래 그림과 같이 나옴
포트포워딩을 할 수 있게 해주는 것을 양쪽 뱡향으로 묶어 NAT이라 지칭하고 라우터의 역할을 해줌
통신은 한방향이 아니라 양방향으로 가능
podman run -d --name git-server --pod workshop-app gogs
- 중간 확인
http://172.31.242.139:5000/ : 올린게 없어서 아무것도 안뜸
http://172.31.242.139/
인위적인 확인
podman pull quay.io/redhattraining/wordpress:5.3.0
podman tagquay.io/redhattraining/wordpress:5.3.0 localhost:5000/tang/wordpress:v5
podman push localhost:5000/tang/wordpress:v5
skopeo copy 가 위의 과정 한번에 해줌
skopeo copy docker://quay.io/redhattraining/wordpress:5.3.0 docker://localhost:5000/minmeanseo/
wordpress:v5
skopeo copy docker://docker.io/library/registry:latest docker://localhost:5000/minmeanseo/regis
try:v1
podman volume
- 컨테이너에서 저장되는 데이터는 호스트에서 공유하고 있으며, 임시저장이다
podman run -d -it --name test-centos centos:stream9 /bin/bash ### i: interactive, t: tty
podman exec -it test-centos bash
podman volume ls
# podman exec -it test-centos bash 한 bash에서
touch hack.txt
cat hack.txt
ss -antp
podman run -d --rm --name test-gogs -v gogs-backup:/backup -v gogs:/data gogs
`podman image inspect gogs`
/var/lib/containers/storage/volumes/gogs-backup/_data 조회 가능
[제대로 구성하기 ]
podman stop test-gogs ## 일단 없애고
podman run -d --rm --name test-gogs -p 80:3000 -v gogs-backup:/backup -v gogs:/data gogs ### 포트 번호 부여
gogs 화면 접속해서
도메인, 어플리케이션 id에 ip주소 입력해주고 http://172.31.242.139/
저장소 SQLite로 설정
계정 생성 후
새 마이그레이션 선택, github clone
데이터 영구 저장이 목적 << 뭐가?
oracle java는 설치하면 안됨 -> 실무에서 벌금
dnf search openjdk
```bash
dnf search openjdk
dnf install maven-openjdk11
```
maven : 이미지 소스코드 있으면 dependency맞춰주고 컴파일 해주고 테스트 해주고 다시 패키징해서 배포해주는데
메이븐이 자동화 도구 automation
젠켄스로 원래 컴파일 테스트 따로햇는데
지금은 메이븐이나 그레이들로 컴파일부터 검증까지 다 자동화
```bash
git clone https://github.com/tangt64/spring-petclinic
cd spring-petclinic
mvnw package
java -jar target/*.jar
포트를 자꾸... 9000으로만 줘서 오류가 낫다..
9000:8080해야 9천번으로 들어올때 8080으로 갈수잇게 해줌..
podman run -d --rm --name pet-clinic-v1 -p9000localhost:5000/tang/pet-clinic:v1
->
podman run -d --rm --name pet-clinic-v1 -p9000:8080 localhost:5000/tang/pet-clinic:v1
1. dockerfile : 도커 지원 이미지 빌드 명령어 파일
2. containerfile: 표준 OCI도구에서 지원하는 이미지 빌드 명령어 파일
```bash
git remote add origin http://172.31.242.139/gogs/php-ip.git
git add .
git commit -m "commit"
git push origin master
## git push --set-upstream origin master
## 잘못됏다면 git remote remove origin
```
podman run -it --rm --name build-image quay.io/centos/centos:stream9 /bin/bash하고
컨테이너 내부에서
git 설치하고 git clone
클론 안되면 방화벽 이슈
podman container inspect test-gogs | grep -i ipaddress
podman run -it --privileged --rm --name build-image quay.io/centos/centos:stream9 /bin/bash
이게 root랑 거의 비슷한 기능을 할 수 잇게한다고함
dnf install buildah git -y
git clone http://10.88.0.5:3000/gogs/php-ip.git ## 포트 바뀔 수잇음
젠킨스 레거시 시스템.
컨테이너에 돌릴수잇음
'WEB > Infra' 카테고리의 다른 글
웹 서버 배포하기 01 : ubuntu 설치 (0) | 2025.01.16 |
---|---|
podman (Devops) (0) | 2024.10.15 |
쿠버네틱스 (Devops) (0) | 2024.10.15 |
가상머신 ip고정(DevOps) (1) | 2024.07.22 |