zoukankan      html  css  js  c++  java
  • 开源看板wekan docker 源码构建

    环境搭建

    1. 首先在centos中安装 docker 和 docker-compose
      由于yum 暂时只有docker 没有docker-compose 所以可以参考 菜鸟教程 docker安装 docker 和 docker-compose

    Compose 是用于定义和运行多容器 Docker 应用程序的工具。通过 Compose,您可以使用 YML 文件来配置应用程序需要的所有服务。然后,使用一个命令,就可以从 YML 文件配置中创建并启动所有服务。
    简单来说:通过docker-compose.yml的指引,可以将多个容器按规则作为一个应用一起启动(compose 直译本身就是:组成)

    1. 通过源码构建wekan 需要通过git在github上拉取wekan源码,所以需要安装git,这里直接通过yum安装
      yum install git

    获取wekan代码

    git clone https://github.com/wekan/wekan

    wekan部署配置

    修改docker-compose.yml配置文件(配置组合 wekan 和 wekan-db 的docker容器)

    # 进入git拉取的wekan代码
    cd wekan
    # 修改docker-compose.yml (参数含义可以看docker compose的文档)
    vim docker-compose.yml
    
    修改wekan的访问端口
    services:
      ...
      wekan:
       ...
        # wekan的镜像,通过修改版本号可以切换版本和版本升级(切换版本前注意数据备份)
        image: wekanteam/wekan:v4.96
        networks:
          - wekan-tier
        # 将宿主机的80端口映射到wekan容器的8080端口,这样就可以通过:**宿主机的ip:80** 直接访问wekan (这里要理解docker容器和虚拟机作用相似)
        ports:
          - 80:8080
        environment:
          # 访问wekan的根地址,不修改只能在本机访问 ( 官方wiki原文地址: https://github.com/wekan/wekan/wiki/Windows   Windows >> a) Bundle with Windows Node+MongoDB >> 6.Download start-wekan.bat to your bundle directory. Default settins are: ROOT_URL=http://localhost and PORT=80, so it works only in local compatible browser. You can edit ROOT_URL to be or http://YOUR-IP-ADDRESS so it works on local network with http://YOUR-IP-ADDRESS.  虽然是windows环境下的安装介绍,但是参数作用猜想应该是一致的)
          - ROOT_URL=http://your ip address
          - MALL_URL=smtp:邮箱账号:邮箱密码@邮件服务器地址:邮件服务器smtp端口号/?ignoreTLS=true&tls={rejectUnauthorized:false}
          # qq邮箱示例如下(需要到qq邮箱设置中开通smtp服务,并获取密码)
          # - MAIL_URL=smtp://8888888@qq.com:password@smtp.qq.com:465/?ignoreTLS=true&tls={rejectUnauthorized:false}
    
    给mongodb数据库的容器wekan-db容器设置端口映射,
    services:
      ...
      wekandb:
        ...
        networks:
          - wekan-tier
        # wekan-db默认没有ports,需要在networks:- wekan-tier下方添加 ports: - 27017:27017 意思是将宿主机的27016端口映射给wekan-db的27017端口,这样远程数据库客户端就可以通过:**宿主机:27016** 连接到容器中的mongodb
        ports:
          - 27016:27017
    

    接下来就可以通过docker 构建 wekan了,以下来自官方wiki

    Then you can build Wekan with
    docker-compose up -d --build
    Example for latest Wekan, port 2000 to Docker Wekan internal port 8080:

    docker run -d --restart=always --name wekan-db mongo:4
    
    docker run -d --restart=always --name wekan --link "wekan-db:db" -e "WITH_API=true" -e "MONGO_URL=mongodb://wekan-db:27017/wekan" -e "ROOT_URL=http://192.168.1.200:80" -p 80:8080 quay.io/wekan/wekan
    

    至此,wekan部署完成,输入地址即可访问wekan

    如果wekan 已经构建需要修改 wekan-db(mongodb)容器的端口映射,使远程客户端可以连接,也可以参照上面的方法直接修改docker-compose.yml 的ports,但是此时需要重启docker后然后执行

    # 先重启docker
    systemctl restart docker
    # 再启动应用
    docker-compose up -d
    

    以上解决办法经过实践,mongodb中数据不会丢失(如果mongodb 可能存在 版本升级的情况一定要做数据备份)
    如果不重启docker直接重启应用可能会报如下错误

    ERROR: for wekandb  Cannot start service wekandb: driver failed programming external connectivity on endpoint wekan-db (60fb3e1eac0a6bc7f259b586b8c01335a01e7efb9632ca95d01abcea8a681ee7):  (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 27017 -j DNAT --to-destination 172.18.0.2:27017 ! -i br-c830cc6c5192: iptables: No chain/target/match by that name.
     (exit status 1))
    ERROR: Encountered errors while bringing up the project.
    [root@dlike wekan]# docker stop wekan-db
    wekan-db
    [root@dlike wekan]# docker-compose up -d
    Building with native build. Learn about native build in Compose here: https://docs.docker.com/go/compose-native-build/
    Removing wekan-db
    Recreating 50f36e859d7c_wekan-db ...
    Recreating 50f36e859d7c_wekan-db ... error
    
    

    参考

    1. wekan 官方 wiki docker部署wekan
    2. 菜鸟教程 docker教程
    3. Docker安装Wekan面板并修改访问端口
  • 相关阅读:
    第九篇装饰器基本原理
    第八篇迭代器协议和生产器
    python第六篇文件处理类型
    Python开发【第十篇】:模块
    习题练习
    2.2.6 集合
    第七篇 python基础之函数,递归,内置函数
    Python开发【第五篇】:Python基础之杂货铺
    Python开发【第四篇】:Python基础之函数
    详解CSS position属性
  • 原文地址:https://www.cnblogs.com/httpc/p/14416356.html
Copyright © 2011-2022 走看看