개발로드

☆KDT 2024-05-11★Docker MySQL 설치 본문

JAVA

☆KDT 2024-05-11★Docker MySQL 설치

위대한개발자 2024. 5. 11. 14:06

MySQL 컨테이너 생성

 

docker run --name 컨테이너이름 -dit -p 포트번호 -e
MYSQL_ROOT_PASSWORD=root비밀번호 -e 
MYSQL_DATABASE=db -e 
MYSQL_USER=root계정 -e
MYSQL_PASSWORD=root비밀번호
mysql --character-set-server=utf8mb4 --collation-
server=utf8mb4_unicode_ci --default-authentication-
plugin=mysql_native_password

 


실제 명령어


docker run --name mysqlcontainer -dit -p 9900:3306 -e MYSQL_ROOT_PASSWORD=my1234 -e MYSQL_DATABASE=wordpress000db -e MYSQL_USER=wonjung -e MYSQL_PASSWORD=my1234 mysql --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci


생성된 컨테이너

 

utf8이 아닌 utf8mb4를 쓰는 이유는 utf8은 한글지원이 되지만 이모티콘은 지원이 안되기 때문이다. 반면, utf8mb4는 이모티콘이 지원이 되서 게시판같은데 활용하기에 좋다.

 


루트로 간단하게 접속
docker run --name mysqlcon -dit -p 9999:3306 - MYSQL_ROOT_PASSWORD=myrootpass mysql:latest

 

 

 


IaC(Infra as Code) : 코드형 인프라

 수동 프로세스가 아니라 코드를 통해서 인프라를 관리하고 프로비저닝(배포) 하는 것
 인프라 사양을 담은 구성 파일을 이용해서 구성을 편집하고 배포하는 것

 


 

Docker에서는 Dockerfiledocker-compose를 이용해서 코드형 인프라를 구현합니다.

 

Dockerfile은 도커 이미지를 생성하기 위한 스크립트 파일입니다.

 

Spring Boot Application을 이미지로 만들어서 실행

이렇게 하는 이유는 스프링으로 애플리케이션을 만들어서 다른 곳에서 실행을 하고자 하는 겨웅 그 곳에 직접 자바를 설치하고 스프링을 설치해서 실행해야합니다.

이렇게 하면 사람이 하는 것이므로 실수를 할 수 있게 됩니다.

이런 부분을 사람이 직접 하지 않고 코드가 할 수 있도록 하면 일관성이 있게 작업을 수행할 수 있습니다.

최근에는 애플리케이션을 Dockerfile을 이용해서 이미지로 만들고 docker-compose를 이용해서 실행을 합니다.

 

이런 용도로 사용되는 가장 유명한 프로그램이 ansible 입니다.


여유가 되신다면 제 GitHub에 오셔서 좋은 코드들을 구경해주세요!

 

https://github.com/gimpo5975?tab=repositories

 

gimpo5975 - Overview

gimpo5975 has 11 repositories available. Follow their code on GitHub.

github.com