如何用docker 容器安装并运行moodle?

最近想在自己的linux系统上安装moodle,但是已经安装了足够多的软件,担心再安装个moodle应用会占内存,系统运行更加卡顿,所以打算装在docker容器来运行。


但是安装moodle系统化需要读写数据库,不知道怎么将容器的什么文件目录挂载的宿主机的哪一个文件目录。而且还需要将主机端口映射至容器的80端口,才能进行相关操作。


所以求助各位大佬,如何挂载文件目录才能让容器里的moodle系统成功读写安装在宿主机的数据库?

图片说明

你的问题是如何通过docker容器安装并运行moodle,并且如何将容器的文件目录挂载到宿主机的文件目录,并映射主机端口到容器的80端口。以下是具体步骤:

  1. 首先,从docker hub上下载moodle镜像。可以使用以下命令:
    docker pull moodlehq/moodle-php-apache
    
  2. 创建一个docker容器并运行moodle容器镜像,可以使用以下命令:
    ```
    docker run -d -p 8080:80 --name moodle \

-v /opt/moodledata:/var/moodledata
-e MOODLE_DATABASE_USER=root
-e MOODLE_DATABASE_PASSWORD=password
-e MOODLE_DATABASE_NAME=moodle
moodlehq/moodle-php-apache

```
其中8080端口是主机端口,它被映射到容器的80端口,/opt/moodledata是主机的目录,它被挂载到/var/moodledata目录;MOODLE_DATABASE_USER,MOODLE_DATABASE_PASSWORD,MOODLE_DATABASE_NAME是你的数据库账户,密码和数据库名。

  1. 确认一下moodle已经正确运行,可以在浏览器中访问 http:// 主机IP:8080 ,进入moodle的安装界面。

至此,关于如何用docker 容器安装并运行moodle,将容器的文件目录挂载到宿主机的文件目录,以及映射主机端口到容器的80端口的问题,已经解决了。