https://github.com/sw-dreamer/vmware-docker
https://github.com/sw-dreamer/vmware-docker
docker mysql ubuntu vmware
Last synced: about 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/sw-dreamer/vmware-docker
- Owner: sw-dreamer
- Created: 2025-01-06T01:31:43.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-01-06T01:32:33.000Z (over 1 year ago)
- Last Synced: 2025-01-06T02:34:33.286Z (over 1 year ago)
- Topics: docker, mysql, ubuntu, vmware
- Language: Shell
- Homepage:
- Size: 12.7 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Docker란?
Docker는 컨테이너 기술을 제공하는 플랫폼으로, 애플리케이션과 그에 필요한 환경을 패키징하여 컨테이너라는 독립적인 단위로 실행할 수 있게 해줍니다. 컨테이너는 가상 머신보다 가벼우며, 빠르고 효율적인 배포와 관리가 가능하다는 특징을 가집니다.
## Docker의 이점
Docker는 강력한 컨테이너화 기술로, 애플리케이션을 효율적으로 개발, 배포 및 관리할 수 있도록 해줍니다.
1. **빠른 실행 속도**
```
가상 머신보다 가볍고 빠릅니다.
운영체제 레벨의 가상화로 작동합니다.
전체 운영체제를 가상화하는 가상머신보다 더 적은 리소스를 사용하고, 빠르게 실행할 수 있습니다.
컨테이너를 몇 초 이내에 시작하고 종료할 수 있어, 빠른 개발 및 배포가 가능합니다.
```
3. **이식성 (Portability)**
```
Docker는 애플리케이션과 그 실행 환경을 컨테이너라는 단위로 패키징합니다.
이 컨테이너는 운영 체제에 관계없이 동일하게 실행되므로,
애플리케이션을 로컬 개발 환경에서 클라우드 또는 서버 환경으로 손쉽게 이동할 수 있습니다.
이를 통해 환경 불일치 문제를 해결할 수 있습니다.
```
4. **효율적인 리소스 사용**
```
가상 머신보다 훨씬 적은 리소스를 사용합니다.
가상 머신은 각자 독립적인 운영 체제를 실행하는 반면,
Docker는 호스트 운영 체제를 공유하고, 애플리케이션만을 컨테이너 내에서 분리하여 실행합니다.
```
5. **애플리케이션과 환경의 일관성**
```
애플리케이션과 그에 필요한 모든 라이브러리, 의존성 등을 하나의 컨테이너 이미지로 패키징합니다.
```
6. **버전 관리 및 재현 가능성**
```
이미지 버전 관리를 지원하여 애플리케이션을 원하는 버전으로 쉽게 롤백하거나 특정 버전에서 실행할 수 있습니다.
Dockerfile을 사용하면 애플리케이션 환경을 코드로 정의할 수 있어 재현 가능성을 보장합니다.
```
7. **자동화 및 CI/CD (지속적인 통합 및 배포) 지원**
```
CI/CD 파이프라인과 통합되어 자동화된 테스트, 빌드, 배포 및 모니터링을 지원합니다.
애플리케이션의 배포 과정이 일관되고 효율적입니다.
```
8. **확장성**
```
컨테이너를 수십, 수백, 수천 개까지 빠르게 확장할 수 있습니다.
Kubernetes나 Docker Swarm을 사용하면, 수많은 컨테이너를 자동으로 배포하고 관리할 수 있습니다.
이를 통해 클라우드 환경에서 수평 확장이 용이해집니다.
```
9. **모듈화 및 마이크로서비스 아키텍처 지원**
```
애플리케이션을 독립된 서비스로 분리하는 데 유리한 구조를 제공합니다.
각 컨테이너는 하나의 서비스나 애플리케이션을 실행하도록 설계할 수 있기 때문에 마이크로서비스 아키텍처를 쉽게 구현할 수 있습니다.
이 방식은 시스템의 유연성, 확장성 및 유지 관리성을 높여줍니다.
```
10. **보안**
```
컨테이너 간에 격리를 제공합니다.
그러므로 애플리케이션의 보안을 강화할 수 있습니다.
각 컨테이너는 독립적으로 실행되며, 호스트 시스템이나 다른 컨테이너와의 간섭을 최소화합니다.
```