Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/adjh54ir/multiflex-docker
Dockerfile 기반 실습을 위한 Repository입니다.
https://github.com/adjh54ir/multiflex-docker
docker docker-compose docker-image dockerfile
Last synced: about 1 month ago
JSON representation
Dockerfile 기반 실습을 위한 Repository입니다.
- Host: GitHub
- URL: https://github.com/adjh54ir/multiflex-docker
- Owner: adjh54ir
- Created: 2024-02-01T01:53:29.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2024-06-28T08:37:43.000Z (6 months ago)
- Last Synced: 2024-06-28T09:56:56.349Z (6 months ago)
- Topics: docker, docker-compose, docker-image, dockerfile
- Language: TypeScript
- Homepage: https://adjh54.tistory.com/category/Docker
- Size: 729 KB
- Stars: 1
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# multiflex-docker
> Dockerfile 기반으로 테스트를 위한 프로젝트입니다.
## 1. simple-nginx
> dockerfile을 기반으로 간단한 Nginx를 설치하고 index.html에 접근해봅니다.
- 참고 Reference : [Dockerfile 이해하고 Nginx 구성 및 실행하기](https://adjh54.tistory.com/414)
### 실행 방법
```shell
# docker 컨테이너 이미지 생성
$ docker build -t nginx:simple-nginx .# docker 컨테이너 생성 및 실행
$ docker run -d -p 8080:80 --name simple-nginx nginx:simple-nginx
```
## 2. simple-vault
> dockerfile을 기반으로 간단한 Vault를 설치하고 수행합니다.
- 참고 Reference : [Dockerfile로 Vault 구성 방법](https://adjh54.tistory.com/415)
### 실행 방법
```shell
# docker 컨테이너 이미지 생성
$ docker build -t hashicorp/vault .# docker 컨테이너 생성 및 실행
$ docker run -d --cap-add IPC_LOCK --name vault -p 8200:8200 hashicorp/vault
```
## 3. simple-react-app
> dockerfile을 기반으로 간단한 React App을 생성하고 실행합니다.
- 참고 Reference : [Dockerfile을 이용한 React 배포 환경 구성 및 실행하기](https://adjh54.tistory.com/417)
### 실행 방법
```shell
# 컨테이너 이미지 생성
$ docker build . -t simple-react-app .# 컨테이너 생성 및 실행
$ docker run -d --name simple-react-app -p 3000:3000 simple-react-app
```
## 4. simple-spring-boot
> dockerfile을 기반으로 간단한 Spring Boot App을 생성하고 실행합니다.
- 참고 Reference : [Dockerfile을 이용한 Spring Boot App 배포 환경 구성 및 실행하기](https://adjh54.tistory.com/420)
### 실행 방법
```shell
# 컨테이너 이미지 생성
$ docker build -t simple-spring-boot-app .# 컨테이너 생성 및 실행
$ docker run -d --name simple-spring-boot-app -p 8080:8080 simple-spring-boot-app
```
## 5. simple-redis
> dockerfile을 기반으로 간단한 Redis을 생성하고 실행합니다.
- 참고 Reference : [Dockerfile을 이용한 Redis 환경 구성 및 실행방법](https://adjh54.tistory.com/449)
### 실행 방법
```shell
# 프로젝트 접근
$ cd simple-redis# 컨테이너 이미지 생성
$ docker build . -t simple-redis# 컨테이너 생성 및 실행
$ docker run -d --name simple-redis -p 6379:6379 simple-redis# docker 컨테이너 아이디를 확인합니다
$ docker ps# redis-cli를 접근합니다.
$ docker exec -it redis-cli
```
## 5. simple-rabbitmq
> dockerfile을 기반으로 간단한 RabbitMQ을 생성하고 실행합니다.
- 참고 Reference : [Dockerfile을 이용한 RabbitMQ 환경 구성 및 실행방법](https://adjh54.tistory.com/496)
### 실행 방법
```shell
# 프로젝트 접근
$ cd simple-rabbitmq# 컨테이너 이미지 생성
$ docker build -t simple-rabbitmq .# 컨테이너 생성 및 실행
$ docker run -d --name simple-rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq
```
## 6. simple-docker-compose
> docker-compose를 이용한 React App, Spring Boot App 일괄 배포하기
- 참고 Reference : [Docker 이해하기 -4 : Docker Compose 이해하고 구성하기](https://adjh54.tistory.com/503)
### 실행 방법
```shell
# 프로젝트 접근
$ cd simple-docker-compose# docker compose 실행
$ docker-compose up# docker compose 상태 확인
$ docker-compose ps# docker compose 삭제
$ docker-compose down
```
## 6. simple-docker-compose-rabbitmq-cluster
> docker-compose를 이용하여 RabbitMQ 클러스터링 배포하기
### 실행 방법
```shell
# 프로젝트 접근
$ cd simple-docker-compose-rabbitmq-cluster# docker compose 실행
$ docker compose up# docker compose 상태 확인
$ docker compose ps
```
### 클러스터링 구성
```shell
# 1. rabbitmq-1을 기준으로 rabbitmq-2, rabbitmq-3 앱을 중지(stop_app), 앱을 초기화(reset)를 수행합니다.
# 2. rabbitmq-1에 클러스터로 rabbitmq-2, rabbitmq-3을 추가합니다(join_cluster)
# 3. rabbitmq-2, rabbitmq-3을 실행합니다(start_app)docker exec -it rabbitmq-2 rabbitmqctl stop_app
docker exec -it rabbitmq-2 rabbitmqctl reset
docker exec -it rabbitmq-2 rabbitmqctl join_cluster rabbit@rabbitmq-1
docker exec -it rabbitmq-2 rabbitmqctl start_appdocker exec -it rabbitmq-3 rabbitmqctl stop_app
docker exec -it rabbitmq-3 rabbitmqctl reset
docker exec -it rabbitmq-3 rabbitmqctl join_cluster rabbit@rabbitmq-1
docker exec -it rabbitmq-3 rabbitmqctl start_app
```