docker安装wagtail探索过程

221205构建成功

[docker安装wagtail核心配置文件]

进入容器报错

[root@iZ8vbajg9wo8iwynfb1lgeZ dc_wagtail]# docker exec -it wagtail bash
OCI runtime exec failed: exec failed: unable to start container process: exec: "bash": executable file not found in $PATH: unknown

由于使用的是python镜像为基础镜像,使用的是精简系统alphine,没有安装bash,只有sh,所以进入容器无法使用bash命令。
需要用python

docker exec -it wagtail python

或者使用

docker exec -it wagtail /bin/sh

查找python位置

/ # find . -name 'python'
./usr/local/bin/python
/ # find . -name 'wagtail'
./usr/local/bin/wagtail
./usr/local/lib/python3.11/site-packages/wagtail
/ # 
/ # wagtail start app
Creating a Wagtail project called app
Success! app has been created
/ # cd app
/app # python manage.py migrate
Operations to perform:
Apply all migrations: admin, auth, contenttypes, home, sessions, taggit, wagtailadmin, wagtailcore, wagtaildocs, wagtailembeds, wagtailforms, wagtailimages, wagtailredirects, wagtailsearch, wagtailusers
Running migrations:
Applying contenttypes.0001_initial... OK
Applying auth.0001_initial... OK

非交互创建用户

/app # echo "from django.contrib.auth.models import User; User.objects.create_superuser('myadmin', 'myemail@example.com', 'hunter2')" | python manage.py shell
/app # 

在docker中直接搭建时采用如下用户名

# echo "from django.contrib.auth.models import User; User.objects.create_superuser('myadmin', 'myemail@example.com', 'wagtailadmin')" | python manage.py shell

容器内部运行服务日志,不推荐这个开启方法

/app # echo "from django.contrib.auth.models import User; User.objects.create_superuser('myadmin', 'myemail@example.com', 'hunter2')" | python manage.py shell
/app # python manage.py runserverpython manage.py runserver
Unknown command: 'runserverpython'. Did you mean runserver?
Type 'manage.py help' for usage.
/app # python manage.py runserver
Watching for file changes with StatReloader
Performing system checks...
System check identified no issues (0 silenced).
December 05, 2022 - 06:21:25
Django version 4.1.3, using settings 'app.settings.dev'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
/app # python manage.py runserver 127.0.0.1:80
Watching for file changes with StatReloader
Performing system checks...
System check identified no issues (0 silenced).
December 05, 2022 - 06:24:19
Django version 4.1.3, using settings 'app.settings.dev'
Starting development server at http://127.0.0.1:80/
Quit the server with CONTROL-C.

docker中直接运行wagtail会无法访问

/app/app # python manage.py runserver
Watching for file changes with StatReloader
Performing system checks...
System check identified no issues (0 silenced).
December 05, 2022 - 07:11:47
Django version 4.1.3, using settings 'app.settings.dev'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

需要指定地址0.0.0.0才行

/app/app # python manage.py runserver 0.0.0.0:8000
Watching for file changes with StatReloader
Performing system checks...
System check identified no issues (0 silenced).
December 05, 2022 - 07:25:03
Django version 4.1.3, using settings 'app.settings.dev'
Starting development server at http://0.0.0.0:8000/
Quit the server with CONTROL-C.
[05/Dec/2022 07:25:11] "GET / HTTP/1.1" 200 6830
[05/Dec/2022 07:25:11] "GET /static/css/app.css HTTP/1.1" 200 0
[05/Dec/2022 07:25:11] "GET /static/css/welcome_page.css HTTP/1.1" 200 2522
[05/Dec/2022 07:25:11] "GET /static/js/app.js HTTP/1.1" 200 0
Not Found: /favicon.ico
[05/Dec/2022 07:25:11] "GET /favicon.ico HTTP/1.1" 404 3365

cloudreve搭建过程

最近折腾nextcloud了,但是在我搭建好LNMP环境下安装总是不能完全正常工作。搜索解决办法也无效。所以还是打算再搭建一个cloudreve。
之前用过cloudreve,这个网盘无论搭建还是使用都很简单,界面也很清爽。
![[Pasted image 20221020183935.png]]
以前是直接运行应用程序,然后配置一下就可以了。
这一次打算用docker配置,这样会更方便管理且容易扩展。
下面记录了我的搭建过程。

  1. 创建目录结构
    这一步的目的是为了docker数据的持久化以及配置等文件的放置设置。
    首先进入你想要放置cloudreve的文件夹,运行以下命令:

    mkdir -vp cloudreve/{uploads,avatar} \
    && touch cloudreve/conf.ini \
    && touch cloudreve/cloudreve.db \
    && mkdir -p aria2/config \
    && mkdir -p data/aria2 \
    && chmod -R 777 data/aria2
  2. 新建docker-compose文件
  3. 在当前文件夹下新建docker-compose.yml文件,写入以下内容。
    yml文件内容:

    version: "3.8"
    services:
      cloudreve:
        container_name: cloudreve
        image: cloudreve/cloudreve:latest
        restart: unless-stopped
        ports:
          - "5212:5212"
          - "443:443"
        volumes:
          - temp_data:/data
          # - ./cloudreve:/cloudreve # 221018 add ,error
          - ./cloudreve/uploads:/cloudreve/uploads
          - ./cloudreve/conf.ini:/cloudreve/conf.ini
          - ./cloudreve/cloudreve.db:/cloudreve/cloudreve.db
          - ./cloudreve/avatar:/cloudreve/avatar
        depends_on:
          - aria2
      aria2:
        container_name: aria2
        image: p3terx/aria2-pro
        restart: unless-stopped
        environment:
          - RPC_SECRET=your_aria_rpc_token
          - RPC_PORT=6800
        volumes:
          - ./aria2/config:/config
          - temp_data:/data
    volumes:
      temp_data:
        driver: local
        driver_opts:
          type: none
          device: $PWD/data
          o: bind
  4. 运行docker-compose
    运行docker-compose有两种方式如下:

    # 后台运行模式,可以从 docker/docker-compose 的日志中获取默认管理员账户用户名和密码
    docker-compose up -d
    # 或者,直接运行,log 将会直接输出在当前控制台中,请注意退出之后保持当前容器运行
    docker-compose up

    第二种方式可以看到实时日志,使用<ctrl+z>

windows docker安装cloudreve

windows-docker安装cloudreve

在E盘新建E:/docker/dc1docker-compose.yml文件,写入

version: "3.4"
volumes:
  # tempData:
  cloudreve:
  uploads:
services:  
  cloudreve:
      container_name: cloudreve
      image: cloudreve/cloudreve:latest
      restart: unless-stopped
      ports:
        - "5212:5212"
        # - "443:443"
      volumes:
        - cloudreve:/cloudreve
        - uploads:/cloudreve/uploads

进入该文件夹,运行docker-compose启动:


E:\docker\dc1<!--autointro-->