Để cài đặt MySQL Community Server sử dụng Docker Compose, các bạn có thể sử dụng official Docker Image của nó ở đây https://hub.docker.com/_/mysql.
Nội dung của tập tin Docker Compose sẽ như sau:
1 2 3 4 5 6 7 8 9 10 |
services: mysql: image: mysql container_name: 'mysql' environment: - MYSQL_ROOT_PASSWORD=123456 ports: - 3306:3306 volumes: - ./mysql_data:/var/lib/mysql |
Chỉ có một biến môi trường bắt buộc mà các bạn cần phải khai báo là mật khẩu của user root MYSQL_ROOT_PASSWORD nha các bạn! Các biến môi trường khác mà Docker Image này support, chi tiết các bạn có thể tham khảo thêm ở đây https://hub.docker.com/_/mysql#environment-variables.
Nếu các bạn muốn khởi tạo sẵn các database cùng với các tables khi khởi tạo mới container của MySQL thì có thể chuẩn bị một script SQL với các câu lệnh tạo mới database và table. Sau đó thì trong phần volumes của tập tin Docker Compose, các bạn cấu hình thông tin trỏ đến script SQL này, ví dụ như sau:
1 2 3 4 5 6 7 8 9 10 |
mysql: image: mysql container_name: 'mysql' environment: - MYSQL_ROOT_PASSWORD=123456 ports: - 3307:3306 volumes: - ./mysql_data:/var/lib/mysql - ./db/init.sql:/docker-entrypoint-initdb.d/init.sql |
Tập tin trên máy host /db/init.sql sẽ được mount với tập tin cùng tên trong thư mục /docker-entry-initdb.d và container của MySQL tự động execute tập tin này đó các bạn!
Nếu các bạn muốn cài đặt thêm phpMyAdmin, một công cụ MySQL client phổ biến, thì có thể thêm thông tin như sau trong tập tin Docker Compose nhé:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
services: mysql: image: mysql container_name: 'mysql' environment: - MYSQL_ROOT_PASSWORD=123456 ports: - 3306:3306 volumes: - ./mysql_data:/var/lib/mysql phpmyadmin: image: phpmyadmin:latest container_name: phpmyadmin restart: always ports: - "8080:80" environment: PMA_HOST: mysql PMA_PORT: 3306 MYSQL_ROOT_PASSWORD: 123456 depends_on: - mysql |
Official Docker Image của phpMyAdmin ở đây https://hub.docker.com/_/phpmyadmin nha các bạn!
Bây giờ chạy command “docker compose up”, các bạn sẽ thấy kết quả như sau:
Access tới phpMyAdmin với địa chỉ http://localhost:8080/, login với user root và password mà các bạn đã set trong tập tin Docker Compose, các bạn sẽ thấy kết quả như sau:
Như vậy là chúng ta đã cài đặt thành công MySQL Community Server sử dụng Docker Compose rồi đó các bạn!