Có chứ c? C có thể export cổng của db ra bên ngoài là 3307 để tạo cơ sở dữ liệu bằng tay sau đó tương tác db như bình thường.
Hoặc sử dụng "php artisan migrate"
vào trong container bằng lệnh "docker exec -it container_id bash" rồi chạy php artisan trong đó
Mình vừa tìm được cách thấy được file trong thư mục được mount là trước khi chạy lệnh đó thì mình Vào Setting (của Docker) => Chọn Share Drivers => Tick vào Ổ đĩa chứa project của mình. Rồi remove container cũ và chạy lạy lệnh đó sẽ thấy được các files trong thư mục project được mount.
Sau khi mình chạy lệnh: docker exec -it container_id_nay_copy bash thì có thư mục myproject nhưng trong thư mục myproject đó ko có file nào cả, chỉ là một folder empty.
Bạn kiểm tra container đang chạy bằng "docker ps".
Sau đó copy id của container đó (container tutum mà start ấy nhé)
Chạy lạnh sau: "docker exec -it container_id_nay_copy bash"
Bây giờ đã vào được bash bên trong container rồi đó, bạn kiểm tra trong đường dẫn /var/www/html trong container có "myproject" không nhé.
Và bạn kiểm tra lại cả đường dẫn của bạn "~/../../xampp/htdocs/myproject" có đúng không nhé, bằng cách vào terminal rồi cd tới xem kết quả như nào nha
Mình chạy thử localhost:9000 thì OK rồi. Nhưng mình chạy localhost:9000/myproject thì trong đó không có file nào hết (tức là trong thư mục này /var/www/html/myproject ko có file nào của myproject) nhưng trên máy của mình thì trong thư mục myproject có tất cả các file của myproject? Vậy mình có cần bước nào để sau khi chạy lệnh này thì trong thư mục var/www/html/myproject sẽ có tất cả các file giống như bên máy mình:
Một điều nữa là /myproject của bạn khi bạn vào trực tiếp trên máy với xampp qua url localhost/myproject ok chứ thì khi đó với docker mình sẽ vào như này
localhost:9000/myproject (ví dụ 9000 là cổng được export ra khi chạy docker)
Tất nhiên xuyên suốt các bài viết trong series, mình sẽ đề cập đến những điểm khác biệt giữa 2 nhánh Debian và Redhat. Tức là sẽ không có một bài riêng so sánh CentOS với Ubuntu, mà thay vào đó, hầu hết các bài sẽ xuất hiện sự so sánh giữa CentOS với Ubuntu. Mong bạn sẽ tiếp tục theo dõi những bài viết tiếp theo và cho mình những ý kiến đóng góp
DISCUSSIONS
Cài này mình chạy ổn rồi. Cảm ơn bạn trả lời nhiệt tình nhé!
Mình dùng windows 10
Nhiều bài viết hữu ích quá chị ạ
Bạn cứ test thử với một file .php chưa cần connect DB xem docker của bạn đã chạy ổn chưa nhé
Có chứ c? C có thể export cổng của db ra bên ngoài là 3307 để tạo cơ sở dữ liệu bằng tay sau đó tương tác db như bình thường. Hoặc sử dụng "php artisan migrate" vào trong container bằng lệnh "docker exec -it container_id bash" rồi chạy php artisan trong đó
(y) Thế là đang dùng win hả
Muốn chạy được project đó có cần tạo trước database trong mysql được cài đặt trong docker mà project đó chọn ko bạn?
Mình vừa tìm được cách thấy được file trong thư mục được mount là trước khi chạy lệnh đó thì mình Vào Setting (của Docker) => Chọn Share Drivers => Tick vào Ổ đĩa chứa project của mình. Rồi remove container cũ và chạy lạy lệnh đó sẽ thấy được các files trong thư mục project được mount.
Vậy đường dẫn ~/../../xampp/htdocs/my bạn đã check chưa?
Lạ nhỉ bạn cấp quyền 777 cho thư mục myproject trên máy local. docker rm id (cái container cũ đi). Sau đó chạy lại lệnh start nhé.
Sau khi mình chạy lệnh: docker exec -it container_id_nay_copy bash thì có thư mục myproject nhưng trong thư mục myproject đó ko có file nào cả, chỉ là một folder empty.
Good present. Thank chị.
Đúng rồi mà sao "~" là về home rồi lại còn ".." ^^
Bạn kiểm tra container đang chạy bằng "docker ps". Sau đó copy id của container đó (container tutum mà start ấy nhé) Chạy lạnh sau: "docker exec -it container_id_nay_copy bash" Bây giờ đã vào được bash bên trong container rồi đó, bạn kiểm tra trong đường dẫn /var/www/html trong container có "myproject" không nhé.
Và bạn kiểm tra lại cả đường dẫn của bạn "~/../../xampp/htdocs/myproject" có đúng không nhé, bằng cách vào terminal rồi cd tới xem kết quả như nào nha
Mình chạy thử localhost:9000 thì OK rồi. Nhưng mình chạy localhost:9000/myproject thì trong đó không có file nào hết (tức là trong thư mục này /var/www/html/myproject ko có file nào của myproject) nhưng trên máy của mình thì trong thư mục myproject có tất cả các file của myproject? Vậy mình có cần bước nào để sau khi chạy lệnh này thì trong thư mục var/www/html/myproject sẽ có tất cả các file giống như bên máy mình:
docker run -tid -p 9000:80 -v ~/../../xampp/htdocs/myproject:/var/www/html/myproject --name myproject-server --link mysqlserver:mysql tutum/apache-php
Good! Thanks c.
Cảm ơn bạn
Một điều nữa là /myproject của bạn khi bạn vào trực tiếp trên máy với xampp qua url localhost/myproject ok chứ thì khi đó với docker mình sẽ vào như này localhost:9000/myproject (ví dụ 9000 là cổng được export ra khi chạy docker)
Bạn vào thử localhost:9000 thì sao bạn? Và bạn thử start mỗi thằng tutum/apache và tạo một file .php test để chạy thử xem kết quả như nào nha
bài này 100% dịch lại từ đâu này. dịch quá tệ. quá khô cứng
@MrD cám ơn bạn
Tất nhiên xuyên suốt các bài viết trong series, mình sẽ đề cập đến những điểm khác biệt giữa 2 nhánh Debian và Redhat. Tức là sẽ không có một bài riêng so sánh CentOS với Ubuntu, mà thay vào đó, hầu hết các bài sẽ xuất hiện sự so sánh giữa CentOS với Ubuntu. Mong bạn sẽ tiếp tục theo dõi những bài viết tiếp theo và cho mình những ý kiến đóng góp