Docker

[Docker] MySQL 설치

뉴벡엔드 2024. 4. 27. 00:57

1.MySQL Docker 이미지 다운로드(생략가능)

sudo docker pull mysql

 


2. MySQL 컨테이너 실행

 

docker run 명령을 사용할 때 Docker는 자동으로 필요한 이미지가 로컬 시스템에 존재하지 않는 경우 Docker Hub나 설정된 다른 레지스트리에서 해당 이미지를 검색하고 다운로드합니다.

따라서, 이미지를 미리 docker pull 명령을 통해 수동으로 다운로드하지 않아도, docker run 명령을 실행하는 순간 필요한 이미지를 자동으로 가져오고 컨테이너를 시작합니다

sudo docker run --name my-mysql -e MYSQL_ROOT_PASSWORD=mypassword -e MYSQL_DATABASE=mydatabase -p 3306:3306 -d mysql

 

  • --name my-mysql: 컨테이너에 my-mysql라는 이름을 지정합니다.
  • -e MYSQL_ROOT_PASSWORD=mypassword: MySQL의 root 사용자의 비밀번호를 mypassword로 설정합니다.
  • -e MYSQL_DATABASE=mydatabase: mydatabase라는 이름의 데이터베이스를 MySQL 서버에 자동으로 생성하도록 합니다.
  • -p 3306:3306 : 호스트의 3306 포트와 컨테이너의 3306 포트를 연결합니다.
  • -d: 컨테이너를 백그라운드에서 실행합니다.
  • mysql: 사용할 이미지 이름입니다.

 

 

특정 버전의 이미지를 사용하고 싶다면 태그를 명시적으로 지정해야합니다.

 

sudo docker run --name my-mysql-5-7 -e MYSQL_ROOT_PASSWORD=mypassword -d mysql:5.7

 


3. MySQL 컨테이너에 접속

 

MySQL 쉘에 접속할 수 있음.

sudo docker exec -it my-mysql mysql -u root -p

 

이 명령은 my-mysql 컨테이너에서 mysql 명령어를 사용하여 root 사용자로 로그인하라는 것을 의미합니다. 비밀번호 입력을 요구할 때에는 앞서 설정한 비밀번호를 입력하세요.

 


데이터 보존

컨테이너가 제거되거나 교체되면 지속가능한 위치(ex:Docker 볼륨 또는 Bind Mounts)에 저장되지 않은 모든 데이터가 손실됩니다.

 

좀 더 자세한 내용

 

[Docker] 데이터 보존 (Docker Voulmes, Bind Mounts) (tistory.com)

 

[Docker] 데이터 보존 (Docker Voulmes, Bind Mounts)

Mysql로 프로젝트를 만들다가 Docker를 다시시작하니까 Database가 사라졌음  컨테이너가 제거되거나 교체되면 지속가능한 위치(ex:Docker 볼륨 또는 Bind Mounts)에 저장되지 않은 모든 데이터가 손실됩

noobackend.tistory.com

 

1. Docker Voulme 생성(아직 생성하지 않은 경우): 

docker volume create [your-volume-name]

 

2. Voulme을 사용하여 Mysql 컨테이너 실행

docker run -d \
  -p 3306:3306 \
  --name my-mysql \
  -e MYSQL_ROOT_PASSWORD=my-pw \
  -v mysql-data:/var/lib/mysql \
  mysql:tag

 

'my-pw'를 원하는 루트 비밀번호로 바꾸고 'mysql:tag'를 사용하려는 특정MySql 이미지 버전으로 바꾸세요.

 

이 명령은 Docker에게 MySQL이 기본적으로 데이터 파일을 저장하는 컨테이너 내부의 /var/lib/mysql 디렉터리에 mysql-data 볼륨을 마운트하도록 지시합니다.

반응형

'Docker' 카테고리의 다른 글

[Docker] 데이터 보존 (Docker Voulmes, Bind Mounts)  (0) 2024.05.06
[Docker] WSL2사용해서 Docker 설치  (1) 2024.04.27