Tôi muốn tạo một hình ảnh docker trên đầu trang mysql đã chứa sơ đồ cần thiết cho ứng dụng của tôi.
Tôi đã thử thêm các dòng vào Dockerfile sẽ nhập lược đồ của tôi dưới dạng tệp sql. Tôi đã làm như vậy (Dockerfile của tôi):
FROM mysql
ENV MYSQL_ROOT_PASSWORD="bagabu"
ENV MYSQL_DATABASE="imhere"
ADD imhere.sql /tmp/imhere.sql
RUN "mysql -u root --password="bagabu" imhere < /tmp/imhere.sql"
Theo hiểu biết của tôi, điều đó không hoạt động vì hình ảnh docker mysql không chứa ứng dụng khách mysql (trạng thái thực hành tốt nhất "không thêm mọi thứ chỉ vì chúng sẽ rất tốt để có") (tôi có sai về điều này không?)
Điều gì có thể là một cách tốt để làm điều này? Tôi đã có một vài điều trong tâm trí, nhưng tất cả chúng có vẻ như cách giải quyết lộn xộn.
- cài đặt máy khách mysql, làm những gì tôi phải làm với nó, sau đó loại bỏ / thanh lọc nó.
- sao chép tệp nhị phân máy khách mysql vào hình ảnh, làm những gì tôi phải làm, sau đó loại bỏ nó.
- Tạo lược đồ trong một máy chủ sql khác và sao chép trực tiếp tệp db (điều này có vẻ rất lộn xộn và nghe có vẻ như là một vấn đề bị ô nhiễm)
Bất kỳ đề xuất? Hy vọng theo cách sẽ dễ dàng duy trì sau này và có thể phù hợp với các thực tiễn tốt nhất là tốt?