실행할때 마다 웹 검색해서... 어떻게 하면 좋을까 싶어 정리해본다.
가장 기본적으로 Mariadb를 실행하기 위해서는 Password 설정을 해주어야 한다.
아래 입력이 가장 짧게 진행하는 것이다. 여기에 -p 옵션을 이용해서 포트를 호스트에서 연결할 수 있도록 하면 기본적인 환경 구성은 완료되었다고 할 수 있다.
docker run --detach --name mariadb -p 3306:3306 --env MARIADB_ROOT_PASSWORD=password! mariadb:latest
실행할 때 필수로 사용해야 하는 옵션에 대해서 알아보도록 하자.
--detach: docker run 명령은 기본적으로 백그라운드 실행을 하지 않아 터미널에 실행상황을 출력하게 된다. 따라서 백그라운드 실행을 하고자 한다면, detach 옵션을 사용해야 한다.
--name: 컨테이너이름을 지정한다.
-p: 호스트와 연결할 포트명을 지정한다.
-env: 컨테이너에 시스템 환경변수를 전달한다. 위에서는 MARIADB_ROOT_PASSWORD라는 환경변수를 전달했고, 이는 mariadb:latest 이미지에 등록되어 있는 환경변수로써 Root 패스워드로 사용된다.
DBMS 프로그램으로 접근해보면 잘 접근되는 것을 알 수 있다.
이외에 추가로 지정하면 좋은 옵션으로 -v가 있다. -v옵션은 볼륨을 별도로 지정하는 옵션이다.
컨테이너는 기본적으로 도커 실행중 변경되는 모든 내용이 저장된다. 따라서 컨테이너 레벨로 관리를 하기에는 추후 운영에 문제가 발생할 가능성이 높아지게 된다. 하여 중요한 파일은 보통 -v 옵션을 이용하여 Database의 저장 위치를 컨테이너 밖에서 관리하는 것이 좋다.
docker run --detach --name mariadb -p 3306:3306 -v mariadb-data:/var/lib/mysql --env MARIADB_ROOT_PASSWORD=password! mariadb:latest
아래와 같이 컨테이너 내부의 /var/lib/mysql을 mariadb-data라는 곳에 보관하여 컨테이너가 삭제되더라도 Mariadb에서 작업한 데이터베이스들은 유지할 수 있게 된다.
'Linux' 카테고리의 다른 글
Docker - Image Alpine, Slim, Stretch, Buster, Jessie, Bullseye (1) | 2024.02.27 |
---|---|
Linux - 메모리 PageCache/BufferCache/Shared 이해 (0) | 2024.02.24 |
Docker - detach/attach(백그라운드/포그라운드) 이해 (0) | 2024.02.23 |
Docker - Storage path, 저장 위치 변경 (0) | 2024.02.23 |
Docker - 컨테이너에서 vi(vim) 편집기 사용하기 (0) | 2024.02.23 |