Docker Compose
DevOps/Docker2025. 1. 18. 15:29Docker Compose

1. Docker Compose 개념여러 개의 Docker 컨테이너들을 하나의 서비스로 정의해서 하나의 묶음으로 관리할 수 있게 해주는 도구이다.2. Docker Compose 사용 이유여러 개의 컨테이너 한번에 관리예를 들어 Spring project를 사용하면 Database도 같이 사용하게 되는 경우가 많다.그럴 때 Docker Compose를 사용하면 각 컨테이너를 독립적으로 관리하는 것이 아니라 하나의 환경에서 실행하고 관리해준다.복잡한 명령어 간소화지금까지 컨테이너를 띄울 때 명령어가 복잡해지는 경우가 많았다. MySQL을 띄울 때 명령어를 다시 확인해보자.docker run -e MYSQL_ROOT_PASSWORD=pwd1234 -p 3306:3306 -v /Users/choijaehun/D..

Dockerfile
DevOps/Docker2025. 1. 17. 13:20Dockerfile

1. Dockerfile이란Docker 이미지는 Dockerhub을 통해 다운받아서 사용할 수 있다.즉, Dockerhub에 있는 이미지들은 누군가 만들어서 업로드 해놓은 것이다.그리고 그 이미지는 Dockerfile로 만들 수 있다.예를 들어서 내가 만든 Spring boot 프로젝트를 Docker 이미지로 만들고 싶다면 Dockerfile을 활용하면 된다.즉, Dockerfile은 Docker 이미지를 만들게 해주는 파일이다.2. Dockerfile에 쓰이는 명령어2.1 FROM: 베이스 이미지 생성2.1.1 의미FROM은 베이스 이미지를 생성하는 역할을 한다. 즉 Dockerfile로 이미지를 만들 때 기반이 되는 이미지를 세팅하는 것이다.예를 들어 Spring boot 프로젝트 배포를 위한 이미지..

바인드 마운트
DevOps/Docker2025. 1. 15. 19:22바인드 마운트

1. 바인드 마운트의 필요성Docker를 활용하면 프로그램을 컨테이너로 띄울 수 있다.컨테이너는 호스트 컴퓨터에서 만드는 작은 컴퓨터이다. 컨테이너를 종료하는 것은 호스트 컴퓨터에서 컨테이너를 제거하는 것이다.이렇게 제거가 되면 컨테이너 내부에 있던 데이터들도 같이 삭제가 된다. 예를 들어, MySQL 컨테이너를 사용하다가 컨테이너를 교체하거나 삭제하게 되면 내부의 데이터도 같이 삭제된다.이 문제는 바인드 마운트를 사용하면 해결할 수 있다.2. 바인드 마운트란?바인드 마운트는 도커 컨테이너와 호스트 컴퓨터 간에 특정 디렉토리를 연결하여 데이터를 실시간으로 공유하는 방법이다.컨테이너의 저장 공간에 데이터를 저장하는 것이 아니라 호스트 컴퓨터의 저장 공간을 공유해서 사용한다.이를 통해 컨테이너를 삭제하더라도..

자주 사용하는 도커 명령어
DevOps/Docker2025. 1. 14. 17:46자주 사용하는 도커 명령어

1. 이미지 다운로드이미지를 다운로드 할 때 Dockerhub에서 이미지를 다운 받는다.Github에 사람들이 코드를 저장해두고 clone, pull을 통해 사용하듯이 Dockerhub도 사람들이 올려놓은 이미지들이 저장되어 있어서 pull을 통해 다운 받아서 사용할 수 있다.즉 Dockerhub는 Github처럼 이미지를 저장하고 다운받을 수 있는 저장소 역할을 한다.1.1 최신 버전 이미지 다운로드 명령어docker pull 이미지명 # docker pull 이미지명:latest 와 동일1.2 특정 버전 이미지 다운로드 명령어docker pull 이미지명:태그명태그명은 특정 버전을 나타내는 이름이다.예를 들어 dockerhub에서 nginx 이미지를 다운받는다고 했을 때 아래와 같이 다운 받을 수 있..

Docker 기본 개념
DevOps/Docker2025. 1. 13. 16:56Docker 기본 개념

Docker를 사용하는 이유Docker를 사용하게 되면 여러가지 장점이 있지만, 그 중에서 가장 큰 장점은 이식성이다. 예를 들어, 학교에서 MySQL로 실습을 하는 수업을 한다고 하자.누군가는 Window를 사용할 수도 있고, 다른 누군가는 Mac을 사용할 수 있다. 또한 같은 운영체제라도 컴퓨터 환경이 다르다.MySQL을 설치해서 실습을 해야 하는데 각 컴퓨터의 환경이 다르기 때문에 같은 방식으로 설치를 하더라도 충돌이나 다양한 이유로 MySQL 설치가 안 될 수 있다. 이 문제를 해결해주는 도구가 Docker이다.간단하게 정리해보면 아래와 같은 장점이 있다.매번 귀찮은 설치 과정을 일일이 거치지 않아도 된다.항상 일관되게 프로그램을 설치할 수 있다.각 프로그램이 독립적인 환경에서 실행되기 때문에 프..

image