Bạn cần tạo người dùng qua MYSQL_USER
, MYSQL_PASSWORD
env vars và sử dụng volume /docker-entrypoint-initdb.d
để ánh xạ thư mục với các tập lệnh khởi động của bạn (.sh
, .sql
, .sql.gz
)
docker run -p 3306:3306 --name mysql-server \
-v ~/Development/web/myproject/docker/mysql:/var/lib/mysql \
-v ~/Development/web/myproject/docker/yourstartupscripts:/docker-entrypoint-initdb.d \
-e MYSQL_ROOT_PASSWORD=root \
-e MYSQL_USER=youruser \
-e MYSQL_PASSWORD=youruserpassword \
-d mysql:latest
Giải thích từ: https://hub.docker.com/_/mysql/
MYSQL_USER, MYSQL_PASSWORD
Các biến này là tùy chọn, được sử dụng kết hợp để tạo người dùng mới và đặt mật khẩu của người dùng đó. Người dùng này sẽ được cấp quyền siêu người dùng (xem ở trên) đối với cơ sở dữ liệu được chỉ định bởi MYSQL_DATABASE
Biến đổi. Cả hai biến đều được yêu cầu để tạo người dùng.
Khởi tạo phiên bản mới
Khi một vùng chứa được khởi động lần đầu tiên, một cơ sở dữ liệu mới với tên được chỉ định sẽ được tạo và khởi tạo với các biến cấu hình được cung cấp. Hơn nữa, nó sẽ thực thi các tệp có phần mở rộng .sh
, .sql
và .sql.gz
được tìm thấy trong /docker-entrypoint-initdb.d
. Các tệp sẽ được thực thi theo thứ tự bảng chữ cái. Bạn có thể dễ dàng điền các dịch vụ mysql của mình bằng gắn tệp kết xuất SQL vào thư mục đó
và cung cấp hình ảnh tùy chỉnh
với dữ liệu đóng góp. Các tệp SQL sẽ được nhập theo mặc định vào cơ sở dữ liệu được chỉ định bởi MYSQL_DATABASE
biến.