Tutorial - Running Magento 2 in Docker Desktop

แชร์
ฝัง
  • เผยแพร่เมื่อ 7 พ.ย. 2024

ความคิดเห็น • 21

  • @TimothyJames1
    @TimothyJames1 2 ปีที่แล้ว

    Excellent tutorial!! I have tested following the steps and each step was successful; however, upon reaching Step 9 to navigate to magento.local, it resulted in an error. I check the github page steps as well and the first eight steps were successful, yet the error persisted. Please advise. I certainly appreciate your team putting the package files available for testing purposes.

    • @phoenixmediagmbh
      @phoenixmediagmbh  ปีที่แล้ว

      Thanks for your feedback, Tim! Since all the steps have worked correctly, there should be no reason from the Kubernetes side of things stopping it from working. A couple of things that I can hint at that might cause the issue are:
      1. Make sure that step 7 worked correctly, since without it no traffic will go to the Magento instance
      .
      2. Double check if the command 8 made an entry in your /etc/hosts file. If you are using a windows pc, then the path to the hosts file will look a little bit different. Please refer to the following article for the details: www.hostinger.com/tutorials/how-to-edit-hosts-file
      .
      3. Your browser might attempt to redirect to https: Double check that you are trying the access through http, since there is no https certificate issued
      .
      I hope these steps help narrow down your issue. Please let us know if the solution worked :)

    • @TimothyJames1
      @TimothyJames1 ปีที่แล้ว

      @@phoenixmediagmbh Thank you for your feedback! I followed the steps and was able to pull up the magento.local Luma home page locally. Nice! However, there are two additional questions I have per the steps:
      1. I ensured step 7 worked correctly
      2. The /etc/hosts file was located in 'C:\Windows\System32\drivers' since I working on Windows 11, so I navigated to that folder. I also have Git for Windows installed, so from an admin terminal, I can open into either bash, sh or run a script with sudo privileges-- however, in any of those three options, running the command 8 line still didn't result in updating the hosts file. Instead, I manually opened up a Notepad window with admin privileges, and then just updated the hosts file that way -- and that is what worked. Would you have any suggestions how I could use the 'sudo sh' to work? I have Windows WSL2 installed via Docker Desktop -- as well as a Debian linux available -- but none of my tests through any of those options resulted in updating the hosts file.
      My other question: once I pulled up the magento.local and could see the Luma home page, then if I click a link -- say to 'Contact Us' on the test site locally -- it results in an error due to the https like you had mentioned in your feedback. Even if I key in 'magento.local/contact/' in a browser window, such as Chrome and Microsoft Edge, the same error persists. What I would like to do is to build the entire site locally as a test / dev site before deploying to Google Kubernetes. Is that possible to see the whole site as it is being built or does the hosts file only allow the Luma home page to be accessed or viewed as a local test?
      This is exciting as a first step to have the Lume home page -- and I certainly appreciate any additional thoughts you may have as feedback.

    • @phoenixmediagmbh
      @phoenixmediagmbh  ปีที่แล้ว

      @@TimothyJames1 Thanks for your feedback, Tim! We are glad to see that the local installation works for you. The steps in the guide that are not helm or kubectl related will normally only work on linux or linux-like operating systems (MacOS). We are not sure if a git bash would also be sufficient. In order to be sure, please check the following 2 things in the command you run in your emulated bash session:
      • Check that you already adapted the path to the specific one in windows 11
      • Be careful when copy-pasting commands, since we were not able to type in the redirection symbol due to the youtube comment guidelines. You will need to fix that on your terminal, as described in the guide.
      Regarding your question about the contacts site: Some of the Luma sites, especially the ones containing forms that need to be filled out, or log-in prompts will be unavailable without a https certificate, no matter if you try to manually type in http. As this is the case in the "Contact Us" section, you would need to generate a https certificate in order to access them. However, if your only worry is whether the site is available, then you need not worry, in a Google Kubernetes Engine environment with a https certificate you would have no issues accessing it.
      We hope this feedback may have helped answer some of your still open questions :)

  • @vmm666
    @vmm666 2 ปีที่แล้ว

    Copy your command step 5 to report an error.
    Error: template: magento/templates/managed-cert_gke.yaml:1:14: executing "magento/templates/managed-cert_gke.yaml" at : nil pointer evaluating interface {}.enabled

    • @phoenixmediagmbh
      @phoenixmediagmbh  2 ปีที่แล้ว

      Thank your for your feedback! The repository has been expanded in the meanwhile to include support for the GKE deployment and this issue is a side effect of that. In order to quickly resolve it, copy and paste the lines 377 and 378 from values_gke.yaml to your values_docker.yaml
      managedCert:
      enabled: false
      We will make sure to patch the github repository as well!

  • @tomruff9031
    @tomruff9031 ปีที่แล้ว

    I am using windows and this is the first time getting started with Magento and I have never used docker before. When I run the third command I get an error in my CMD "docker: invalid reference format." its referring to the $(pwd) portion of the command. I am new to this so I'm not sure what I should replace that with. If I take out the $() and leave it as "pwd:/apps ..." the command works and opens the container CLI but It gives me the error "Chart.yaml file is missing" when I run the 4th command. I check the directory and the file is there but it still throws the error. if anyone else is working on windows please let me know how to get this working properly, it would be a huge help!

    • @phoenixmediagmbh
      @phoenixmediagmbh  ปีที่แล้ว +1

      We are glad to help you in these first steps, Tom! The portion "$(pwd)" of the command is used in linux and linux-like systems in order to reference the absolute path of the directory you are in. You could type out the absolute path in your case to avoid any issues. By doing so, you will get a docker container that will be mounted on the current directory you are in. Assuming that you followed the previous steps, you then shall have no issues to locate the Chart.yaml file later on. Please let us know if you have further issues.

    • @tomruff9031
      @tomruff9031 ปีที่แล้ว

      @@phoenixmediagmbh Thank you for the suggestion!
      --- I got it working! I put the path starting with "C:\Users\Tom\Desktop\magento\magento2-helm:/apps" in quotes and it ran perfectly! I also watched another video showing that I needed to turn on "Hyper-V" in my "Turn Windows features on or off" settings. I think that was the problem the first time.
      So now that the dependencies have been updated I ran the next step and this error was thrown:
      Error: unable to build kubernetes objects from release manifest: resource mappin
      g not found for name: "elasticsearch-master-pdb" namespace: "" from "": no match
      es for kind "PodDisruptionBudget" in version "policy/v1beta1"
      ensure CRDs are installed first

    • @phoenixmediagmbh
      @phoenixmediagmbh  ปีที่แล้ว

      @@tomruff9031 Hi Tom! We are glad it is now working for you, windows can be a bit tricky when it comes to virtualization.
      The issue you are facing now happens because you are using a 1.25+ Kubernetes version. Please make sure to use a version that is lower than 1.25, since some of the api-s have been depricated. For reference please follow the comment thread with Agustin Gómez.

  • @mohamedlamiri6953
    @mohamedlamiri6953 2 ปีที่แล้ว

    hello, thankyou so much for this video. I tried to follow the steps but after the command -> kubectl get pods -n dockerdemo -w , i've waited more than 30min noting happened

    • @phoenixmediagmbh
      @phoenixmediagmbh  2 ปีที่แล้ว

      Thank you for your feedback! When running the command the updated status of the pods is simply printed in a new line, with the old status still visible which can make the output a bit confusing. The best thing to do is interrupt that command and double check again with -> kubectl get pods -n dockerdemo
      This will simply print the state of the pods in the specific moment and not update the output when states change. Should all of the pods be in a 'Running' state that means that everything is working as intended and you may continue with the next steps.

  • @vineetvideos
    @vineetvideos ปีที่แล้ว

    Hello. First Thanks for the video.
    at step#5 I encountered with following error
    /apps # helm upgrade -i --kubeconfig kube-config -f values_docker.yaml --create-
    namespace -n dockerdemo magento .
    WARNING: Kubernetes configuration file is group-readable. This is insecure. Location: kube-config
    WARNING: Kubernetes configuration file is world-readable. This is insecure. Location: kube-config
    Release "magento" does not exist. Installing it now.
    Error: unable to build kubernetes objects from release manifest: resource mapping not found for name: "elasticsearch-master-pdb" namespace: "" from "": no matches for kind "PodDisruptionBudget" in version "policy/v1beta1"
    ensure CRDs are installed first
    /apps #

    • @phoenixmediagmbh
      @phoenixmediagmbh  ปีที่แล้ว

      Hello Vineet! I think you may be using a Kubernetes version that is 1.25+ which causes this issue. In those versions the api used by the elasticsearch sub-chart (policy/v1beta1) is depricated, which results in the issue you are facing. The quickest course of action would be to downgrade the kubernetes version. Please give the comment thread by Agustin a look, since this issue is discussed there in detail.

  • @agustingomez3341
    @agustingomez3341 ปีที่แล้ว

    /apps # helm upgrade -i --kubeconfig kube-config -f values_docker.yaml --create-namespace -n do
    ckerdemo magento .
    WARNING: Kubernetes configuration file is group-readable. This is insecure. Location: kube-config
    WARNING: Kubernetes configuration file is world-readable. This is insecure. Location: kube-config
    Release "magento" does not exist. Installing it now.
    Error: unable to build kubernetes objects from release manifest: resource mapping not found for name: "elasticsearch-master-pdb" namespace: "" from "": no matches for kind "PodDisruptionBudget" in version "policy/v1beta1"
    ensure CRDs are installed first
    ?

    • @phoenixmediagmbh
      @phoenixmediagmbh  ปีที่แล้ว +1

      Hello Agustin! I think you may be using a Kubernetes version that is 1.25+. In those versions the api used by the elasticsearch sub-chart (policy/v1beta1) is depricated, which results in the issue you are facing. If that is not the case let us know and we will investigate. We are currently working on the support of higher kubernetes versions and will update the repository soon :)

    • @RaduBrega
      @RaduBrega ปีที่แล้ว

      @@phoenixmediagmbh I have the same issue with the Kubernetes version, how can I downgrade it so it works?

    • @phoenixmediagmbh
      @phoenixmediagmbh  ปีที่แล้ว

      @@RaduBrega You may find older Docker desktop versions here:
      docs.docker.com/desktop/release-notes/
      If you use the same one we used (4.10.1), you should not have any issues.

    • @RaduBrega
      @RaduBrega ปีที่แล้ว

      @@phoenixmediagmbh thank you I just downloaded and installed v4.10.1 with Kubernetes 1.24.1 and did everything from scratch as in the video and I get the same error
      Release "magento" does not exist. Installing it now.
      Error: unable to build kubernetes objects from release manifest: resource mapping not found for name: "elasticsearch-master-pdb" namespace: "" from "": no matches for kind "PodDisruptionBudget" in version "policy/v1beta1"
      ensure CRDs are installed first

    • @phoenixmediagmbh
      @phoenixmediagmbh  ปีที่แล้ว

      ​@@RaduBrega We suspect that the previous installation of docker desktop and kubernetes did not fully get removed from your computer and might be causing the issues with the apis, please double check that the kubernetes version is actually 1.24.1 and if you have not already, remove the previous installation of docker desktop and kubernetes. (Keep in mind that you need to explicitly remove kubernetes from the settings of docker desktop before removing docker desktop as well)