Hầu hết ứng dụng web đều có sử dụng database MySQL. MySQL có
image chính thức và chọn image “mysql” và tag phiên bản “latest”
Cài đặt MySQL Image:
Chạy câu lệnh để cài MySQL Server:
~ > docker run -it
-d --name mysql01 -v /data/mysql/mysql01:/var/lib/mysql -e
MYSQL_ROOT_PASSWORD=123456 mysql:latest
Hướng dẫn các tham số:
– “docker run“: câu lệnh để chạy 1 image và bắt đầu 1
container. Container là một process sử dụng 1 image là nội dung bên trong.
– “-it“: tham số để cho phép thao tác về sau như can thiệp
vào container để thực thi các câu lệnh hệ thống.
– “-d“: tham số để nói sau khi thực hiện câu lệnh trên thì
cho nó chạy background và con trỏ vẫn ở host hiện tại.
– “–name mysql01“: đặt tên cho cái container này. Bởi vì có
thể tạo nhiều container từ chung 1 image (đây chính là điểm ưu điểm của
Docker), mỗi container cần có cái tên để dễ làm việc, không thì docker sẽ tự tạo
1 cái tên ngẫu nhiên. Và lưu ý, không được phép có 2 container cùng 1 tên.
– “-v /data/mysql/mysql01:/var/lib/mysql“: cho phép mount
volume (link thư mục) từ bên trong container ra một thư mục bên ngoài máy đang
chạy. Thử tưởng tượng, nếu không sử dụng volume để mapping thư mục, khi
container này stop và bị xóa thì toàn bộ dữ liệu trong container cũng bị mất.
Do đó, phải mapping ra thư mục bên ngoài để khi container bị xóa thì dữ liệu vẫn
còn. Và khi start 1 container mới thì sẽ có dữ liệu trước đó. tham số “-v” là một
tham số rất quan trọng Trong ví dụ này thì thư mục “/data/mysql/mysql01” là thư
mục trên máy và “/var/lib/mysql” là chuỗi cố định được cài đặt sẵn trong image.
– “-e MYSQL_ROOT_PASSWORD=123456“: Tham số “-e” sẽ set một
biến môi trường. Ở đây, set biến môi trường làm password root cho mysql server.
Thường mỗi image đều có ghi chú về các biến môi trường và công dụng của nó khi
chạy một image.
– “mysql:latest“: tên image và tag phiên bản của image sẽ chạy.
Sau khi thực hiện câu lệnh trên, nếu docker đã được cài đặt
ngon lành thì sẽ có 1 container với tên “mysql01” được tạo. chạy câu lệnh
“docker ps” để xem container với tên mysql01 đã chạy chưa.
Truy cập vào MySQL container
Sau khi container mysql01 đã được chạy và đang chạy (thấy được
từ “docker ps”), có thể truy cập vào mysql command line để thực hiện các câu lệnh
SQL muốn như setup user, tạo, xóa db…thông qua câu lệnh sau:
~ > docker exec -it mysql01 mysql -uroot -p
Import file .sql vào MySQL container
Trong phần lớn trường hợp, sau khi đã có MySQL Server, bạn
thường muốn import từ file .sql. Bạn có thể chạy câu lệnh sau để import file
sql.
~ > docker exec -i
mysql01 mysql -uroot -p123456 --default-character-set=utf8 DATABASENAME <
/data/database.sql
Hay lam ad oi
Trả lờiXóa