728x90
300x250
docker-compose 에서 mariadb 설정할때 .env 파일을 사용할일이 좀 있어서 기록 남겨둔다.
아래 yml 파일을 보면 알겠지만 mariadb 이미지를 생성하면서 .env 파일을
docker-compose.yml 파일이 위치한 디렉토리에 db 라는 폴더안에 넣어놓았다.
version: "3.7"
networks:
default:
external:
name: mybridge
services:
db:
image: mariadb:10
env_file:
- "./db/.env"
volumes:
- "./db/data:/var/lib/mysql"
- "./db/dump:/disk"
- "./db/initdb.d:/docker-entrypoint-initdb.d"
#물론 .env 파일 없이 아래처럼 그냥 쭉 나열해도 상관은 없다
#environment:
# TZ: Asia/Seoul
# MYSQL_ROOT_PASSWORD: root비밀번호
# MYSQL_DATABASE: 생성될 Database 명
ports:
- "3311:3306"
restart: always
web:
image: bugkingus/centos8_apache2_php7:latest
privileged: true
build:
context: .
#dockerfile: Dockerfile-httpd-php
ports:
- "87:80"
volumes:
- ./www:/var/www/html
links:
- db
restart: always
.env 파일내용
TZ=Asia/Seoul
MYSQL_HOST=localhost
MYSQL_PORT=3306
MYSQL_ROOT_PASSWORD=Root패스워드
MYSQL_DATABASE=생성될 DB명
MYSQL_USER=생성될 User명
MYSQL_PASSWORD=생성될 User의 비밀번호
주의해야할것은 docker-compose up -d 해서 컨테이너 두개를 작동시키고나면 db 같은경우엔 이미 기존에 세팅되있던대로 data 관련 파일이 모두 생성되기 때문에 , docker-compose.yml 을 수정하게된다면 data 관련 파일은 모두 삭제해줘야한다.
위 docker-compose.yml 기준으로 설명을 한다면 나는 mariadb 경로 마운트를
아래처럼 진행하였는데
- "./db/data:/var/lib/mysql"
docker-compose.yml 파일의 db 관련 설정이 수정된다면 기존에 /db/data 는 날려줘야된다는 뜻이다.
728x90
300x250
'IT > Docker' 카테고리의 다른 글
[Docker] 도커 실행 실패, Failed to start Docker Application ... (0) | 2022.12.19 |
---|---|
[Docker] 윈도우10 에서 도커 설치하기 (BIOS Setting , Hyper-V) (0) | 2022.05.01 |
[Docker] docker-compose 이용한 mariadb + tomcat 서버 세팅 추가정리 (0) | 2021.07.14 |
[Docker] docker-compose 에러 Version in "./docker-compose.yml" is unsupported (0) | 2021.07.02 |
[Docker] Docker-compose 실행시 build 오류 (2) | 2021.06.09 |