Hướng dẫn docker-php-ext-install command not found - lệnh docker-php-ext-install không tìm thấy
PHP 7.2.5 I am having a problem where a command is failing in the middle of my gitlab ci script...
5 6I can't tell for sure if this command is being run on Ubuntu or php5.6 .. It seems like this is being run on Ubuntu given the 7 commands. But is the 8 command supposed to be executed from the Ubuntu shell?How should I aim to fix this problem? PHP 7.2.5Project 2 này cũng rất đơn giản nên nội dung các file sẽ gần như tương tự với project 1. Dockerfile Cuối cùng truy cập 3 và bạn đã có một project chạy thành công với phiên bản PHP là 7.2.5.Tổng kết
Giới thiệuTrước đây khi tham gia một buổi chia sẻ kiến thức về Docker thì có một bạn đặt câu hỏi mình thấy khá là thú vị, đó là nếu trong trường hợp bạn đang tham gia hai dự án khác nhau, mỗi dự án lại yêu cầu một phiên bản PHP khác nhau thì có thể áp dụng Docker vào được hay không. Ở bài viết này mình sẽ hướng dẫn cách sử dụng Docker để giải quyết câu hỏi được đặt ra ở trên.
Mình sẽ sử dụng Ubuntu nhưng bạn có thể dùng bất cứ hệ điều hành nào Docker hỗ trợDocker: https://docs.docker.com/engine/install/ubuntu/#install-using-the-convenience-script
DockerfileCuối cùng truy cập 3 và bạn đã có một project chạy thành công với phiên bản PHP là 7.2.5.
Tổng kết
Mặc dù bài viết của mình nhìn khá là đơn giản, tuy nhiên khi áp dụng vào một dự án thực sự thì sẽ cần rất nhiều thứ, khi đó nội dung của hai file 0 và 6 sẽ thay đổi rất nhiều. Ví dụ bạn có thể sẽ cần thêm PHP extension, Apache module, hoặc Node.js / npm để compile asset,... Hoặc bạn có thể sẽ cần thêm các service như MySQL, Redis,... Khi đấy thì bạn cần phải tìm hiểu thêm về Docker và Docker Compose để phục vụ cho công việc của mình.
Tiếp theo thì chúng ta sẽ bật những modules của Apache cần thiết cho project.
Vì project mình dùng làm mẫu khá là đơn giản nên chỉ cần thêm một bước cuối cùng đó chính là cài đặt Composer vào. Bạn còn có thể cài đặt thêm Node.js và npm để compile các assest nhưng ở đây mình không cần nên mình sẽ bỏ qua. docker-compose.ymlBạn có thể dùng thẳng command 2 nhưng mình lại ưu tiên sử dụng Docker Compose hơn vì chỉ cần setup một lần là bạn có thể sử dụng nhiều lần mà không cần phải nhớ và gõ lại command.
Ở đây mình sử dụng compose file version 3. Mình chỉ cần một service duy nhất đó chính là PHP / Apache, và sẽ sử dụng image được build từ file 0 ở trên.Vì để tránh port 80 đang dùng thì mình bind lại port thành 564. Việc tiếp theo đó chính là bind các volume cho container. Dữ liệu của container sẽ được chứa ở các volume này, cụ thể là:
CommandSau khi đã có đủ các file: 9, 0, và 6 thì hãy chạy lệnh sau ở folder gốc:
Tiếp theo chúng ta cần cài đặt các package cần thiết cho project:
Cuối cùng truy cập 2 và bạn đã có một project chạy thành công với phiên bản PHP là 5.6.40.Project 2
Project 2 này cũng rất đơn giản nên nội dung các file sẽ gần như tương tự với project 1. Dockerfile
docker-compose.yml 0Command 1Sau khi đã có đủ các file: 9, 0, và 6 thì hãy chạy lệnh sau ở folder gốc:Tiếp theo chúng ta cần cài đặt các package cần thiết cho project:Cuối cùng truy cập 2 và bạn đã có một project chạy thành công với phiên bản PHP là 5.6.40.Project 2 Github: https://github.com/yemiwebby/laravel-api-testing
|
Bài Viết Liên Quan
Hướng dẫn dùng open in python
Nội dung chínhCách 1: Sử dụng hàm openCách 2: mở file sử dụng context managerCách 3: Sử dụng thư viện pathlibCách 4: Sử dụng shellCách 5: Xây dựng một thư viện ...
Mùng 6 tết 2023 là ngày mấy
Chẳng bao lâu nữa thì mùa xuân năm 2023 lại về với những khởi đầu mới và hứng khởi mới. Chắc hẳn là hiện tại cũng đang có rất nhiều bạn mong muốn ...
Hướng dẫn convert json string to list of dictionaries python - chuyển đổi chuỗi json thành danh sách từ điển python
19 Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.Learn more. Tôi đang gửi một chuỗi JSON từ Objective-C đến Python. ...
Hướng dẫn python is an interpreted high-level language what does it mean to you - python là một ngôn ngữ cấp cao được thông dịch, nó có ý nghĩa như thế nào đối với bạn
Python là một trong những ngôn ngữ được giải thích phổ biến nhất, nhưng bạn đã bao giờ nghĩ về lý do tại sao Python được gọi là ngôn ngữ được giải ...
Hướng dẫn uniroot python - trăn uniroot
Hướng dẫn fuzzy python - trăn mờChuỗi mờ khớp trong PythonChúng tôi đã thực hiện nhiệm vụ của mình để lấy vé sự kiện từ mọi góc của internet, cho bạn ...
Hướng dẫn how do you sum two inputs in python? - làm thế nào để bạn tổng hợp hai đầu vào trong python?
Trong chương trình này, bạn sẽ học cách thêm hai số và hiển thị nó bằng hàm in ().Để hiểu ví dụ này, bạn nên có kiến thức về các chủ đề lập ...
Hướng dẫn sensitivity analysis python code - phân tích độ nhạy mã python
Composite number in python assignment expertComposite NumberGiven an integer N, write a program to find if the given number is a composite number or not. If it is composite, print True or else print ...
Hướng dẫn is there lcm function in python? - có chức năng lcm trong python không?
Trong chương trình này, bạn sẽ học cách tìm LCM của hai số và hiển thị nó.Để hiểu ví dụ này, bạn nên có kiến thức về các chủ đề lập trình ...
Hướng dẫn how do you click an element in python? - làm thế nào để bạn nhấp vào một phần tử trong python?
Xem thảo luậnCải thiện bài viếtLưu bài viếtĐọcBàn luậnXem thảo luậnCải thiện bài viếtLưu bài viếtĐọcBàn luậnMô -đun Selenium sườn Python được xây ...
Hướng dẫn is python more versatile than r? - python có linh hoạt hơn r không?
Khám phá những điều cơ bản của hai ngôn ngữ lập trình nguồn mở này, sự khác biệt chính làm cho chúng khác biệt và cách chọn đúng ngôn ngữ cho tình huống ...
Hướng dẫn is python little or big endian? - trăn nhỏ hay endian lớn?
21 Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.Learn more. Tôi đang làm việc trên một chương trình nơi tôi lưu ...
Hướng dẫn python get thread id - python lấy id chuỗi
246 Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.Learn more. Tôi có một chương trình Python đa luồng và chức năng ...
Hướng dẫn eclipse javascript - javascript nhật thực
Chào các bạn, trong bài viết này mình sẽ hướng dẫn mọi người tìm hiểu về một IDE (Integrated Development Environment) cực kỳ phổ biến đối với những lập ...
Lệnh thay đổi password trong linux
Trong bài này mình sẽ hướng dẫn cách đổi mật khẩu người dùng trên Linux, bằng cách sử dụng lệnh passwd Linux là bạn có thể đổi mật khẩu user trên Linux ...
25 tháng chạp 2023
Mục lục1 Lịch vạn niên ngày 25 tháng 12 năm 20232 Tử vi tốt xấu ngày 25 tháng 12 năm 20232.1 ☯ Việc tốt trong ngày2.2 ☯ Ngày bách kỵ2.3 ❎ Danh sách giờ xấu ...
Hướng dẫn how do i download mysql jdbc connector? - làm cách nào để tải xuống trình kết nối jdbc mysql?
Tải xuống cộng đồng MySQL Đầu nối/j Tính khả dụng chung (GA) phát hànhLưu trữĐầu nối/j 8.0.31 Chọn hệ điều hành: Tải xuống Windows được đề ...
Hướng dẫn ssh python - trăn ssh
Tiếp series lập trình Python, xin giới thiệu với các bạn đoạn code Python 3 sau sử dụng thư viện paramiko có nhiệm vụ kết nối SSH tới 1 Remote Linux Server và ...
Hướng dẫn how does php know the session? - làm thế nào để php biết phiên?
Một phiên là một cách để lưu trữ thông tin (trong các biến) sẽ được sử dụng trên nhiều trang.Không giống như cookie, thông tin không được lưu trữ trên máy ...
Hướng dẫn trinket python compiler - trình biên dịch trăn trinket
Hướng dẫn how do you extract something from a list in python? - làm thế nào để bạn trích xuất một cái gì đó từ một danh sách trong python?Hãy cùng tìm hiểu các cách ...
Lấy dữ liệu từ web vào excel trên macbook
Lấy dữ liệu, báo cáo từ website nhanh chóng với Excel là thủ thuật ít người biết đến. Trong bài viết dưới đây, chúng ta hãy cùng khám phá tính năng lấy ...