开发者社区 问答 正文

使用docker搭建xwiki

部署xwiki
使用docker现成的xwiki模板来部署

创建网络
docker network create -d bridge xwiki-nw

创建mysql
docker run --net=xwiki-nw --name mysql-xwiki -v /my/own/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=xwiki -e MYSQL_USER=xwiki -e MYSQL_PASSWORD=xwiki -e MYSQL_DATABASE=xwiki -d mysql:5.7 --character-set-server=utf8 --collation-server=utf8_bin --explicit-defaults-for-timestamp=1

创建xwiki
docker run -d --net=xwiki-nw --name xwiki -p 8080:8080 -v /my/own/xwiki:/usr/local/xwiki -e DB_USER=xwiki -e DB_PASSWORD=xwiki -e DB_DATABASE=xwiki -e DB_HOST=mysql-xwiki xwiki:mysql-tomcat
---------------------
转载:
作者:错觉直觉
来源:CSDN

展开
收起
寒喵 2018-12-31 22:55:21 5212 分享 版权
阿里云 AI 助理回答

要使用Docker部署XWiki,您遵循的步骤是正确的。这里是对您提供的命令和流程的一个结构化总结,确保每一步都清晰明了:

  1. 创建网络 首先,为XWiki及其依赖服务(如MySQL)创建一个独立的Docker网络,以便它们之间能够相互通信。

    docker network create -d bridge xwiki-nw
    
  2. 创建MySQL容器 接着,启动一个MySQL容器作为XWiki的数据库后端。此命令会创建一个新的MySQL实例,并设置相应的环境变量以配置数据库。

    docker run \
     --net=xwiki-nw \
     --name mysql-xwiki \
     -v /my/own/mysql:/var/lib/mysql \
     -e MYSQL_ROOT_PASSWORD=xwiki \
     -e MYSQL_USER=xwiki \
     -e MYSQL_PASSWORD=xwiki \
     -e MYSQL_DATABASE=xwiki \
     -d mysql:5.7 \
     --character-set-server=utf8 \
     --collation-server=utf8_bin \
     --explicit-defaults-for-timestamp=1
    

    这里,/my/own/mysql 是主机上的目录,用于持久化MySQL的数据。

  3. 创建XWiki容器 最后,基于XWiki的Docker镜像启动一个容器,将其连接到之前创建的网络,并映射端口以供外部访问。

    docker run \
     -d \
     --net=xwiki-nw \
     --name xwiki \
     -p 8080:8080 \
     -v /my/own/xwiki:/usr/local/xwiki \
     -e DB_USER=xwiki \
     -e DB_PASSWORD=xwiki \
     -e DB_DATABASE=xwiki \
     -e DB_HOST=mysql-xwiki \
     xwiki:mysql-tomcat
    

    /my/own/xwiki 是主机上用于存储XWiki数据和配置的目录,而 -e 参数用于设置与数据库连接相关的环境变量。

注意事项: - 确保在执行这些命令前,您的系统中已安装并正确配置了Docker。 - 持久化目录(如/my/own/mysql/my/own/xwiki)需要在宿主机上事先创建好,并且Docker守护进程有权限访问这些目录。 - 安全性提示:直接在命令行中暴露数据库密码等敏感信息不是最佳实践。考虑使用更安全的方式管理这些凭证,比如使用Docker Secrets或环境文件。 - 访问XWiki时,请确认您的防火墙或安全组规则允许8080端口的入站流量。

按照上述步骤操作后,您应该能够成功通过Docker部署XWiki,并通过访问http://<your_host_ip>:8080来开始使用它。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答