Trước tiên, nếu máy bạn chưa có Docker, hãy cài đặt theo hướng dẫn tại: https://docs.docker.com/install/
Các bước cài đặt:
- Tạo Docker network
- Khởi tạo Docker container từ Docker image của MySQL
- Khởi tạo Docker container từ Docker image của phpMyAdmin
1. Tạo Docker network
Việc tạo Docker network giúp cho các Docker container trong cùng 1 network có thể giao tiếp với nhau thông qua container name
Chạy lệnh sau:
docker network create mysql
Lệnh trên sẽ tạo một Docker network có tên là mysql. Chúng ta sẽ đặt 2 Docker container chạy MySQL và phpMyAdmin bên trong network mysql này
2. Khởi tạo Docker container từ Docker image của MySQL
Trước tiên, hãy tạo một thư mục dùng để lưu dữ liệu của Docker container, ví dụ: /home/moe/mysql_data
Sau đó, chạy lệnh:
docker run --name learn_mysql --network mysql -v /home/moe/mysql_data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123 -d mysql:5.7
trong đó:
- –name learn_mysql: tên của container. Tên này sẽ được sử dụng ở bước sau, khi chúng ta khới tạo container chạy phpMyAdmin
- –network mysql: đặt container này trong network mysql vừa được tạo ở bước 1
- -v /home/moe/mysql_data:/var/lib/mysql : Volume dữ liệu từ container ra bên ngoài thư mục mysql_data mà chúng ta vừa tạo
- -e MYSQL_ROOT_PASSWORD=123: đặt password cho user root. Mỗi một MySQL server khi được khởi tạo đều sẽ có một user root ban đầu.
3. Khởi tạo Docker container từ Docker image của phpMyAdmin
Chạy lệnh sau:
docker run --name myadmin -d --network mysql -p 8081:80 -e PMA_HOST=learn_mysql phpmyadmin/phpmyadmin
trong đó:
- –name myadmin: tên container
- –network mysql: đặt container này vào trong network mysql. Lúc này 2 container chạy phpMyAdmin và MySQL đều ở trong cùng 1 network
- -e PMA_HOST=learn_mysql: địa chỉ IP của MySQL server. Vì chúng ta đã đặt 2 container chạy phpMyAdmin và MySQL trong cùng 1 network (mysql) nên chúng ta có thể dùng tên container chạy MySQL (learn_mysql) cho biến môi trường này
- -p 8081:80: mapping cổng 80 của container với cổng 8081 của máy host
Sau khi hoàn thành cả 3 bước trên, chúng ta truy cập vào địa chỉ: http://localhost:8081/, xuất hiện màn hình:
Ở mục ngôn ngữ, bạn có thể chọn ngôn ngữ là Tiếng Việt hoặc Tiếng Anh
Ở mục Đăng nhập, bạn hãy dùng tài khoản root, mật khẩu chính là mật khẩu bạn đã đặt cho biến môi trường MYSQL_ROOT_PASSWORD khi khởi tạo MySQL container, như trong bài viết này thì mật khẩu tôi đặt là 123
Và đây là kết quả khi đăng nhập thành công: