Git Product home page Git Product logo

docker's Introduction

可道云docker镜像

buildx

1. 快速启动

docker run -d -p 80:80 kodcloud/kodbox

2. 实现数据持久化——创建数据目录并在启动时挂载

mkdir /data
docker run -d -p 80:80 -v /data:/var/www/html kodcloud/kodbox

3. 以https方式启动

  • 使用已有ssl证书
    • 证书格式必须是 fullchain.pem privkey.pem

      docker run -d -p 443:443  -v "你的证书目录":/etc/nginx/ssl --name kodbox kodcloud/kodbox
git clone https://github.com/KodCloud-dev/docker.git kodbox
cd ./kodbox/compose/
#需在db.env中设置数据库密码,还有yaml中的MYSQL_ROOT_PASSWORD
docker-compose up -d
version: '3.5'

services:
  db:
    image: mariadb:10.6
    restart: always
    command: --transaction-isolation=READ-COMMITTED --log-bin=binlog --binlog-format=ROW
    volumes:
      - "./db:/var/lib/mysql"       #./db是数据库持久化目录,可以修改
    environment:
      - MYSQL_ROOT_PASSWORD=
      - MARIADB_AUTO_UPGRADE=1
      - MARIADB_DISABLE_UPGRADE_BACKUP=1
    env_file:
      - db.env
      
  app:
    image: kodcloud/kodbox
    restart: always
    ports:
      - 80:80                       #左边80是使用端口,可以修改
    volumes:
      - "./site:/var/www/html"      #./site是站点目录位置,可以修改
    environment:
      - MYSQL_HOST=db
      - REDIS_HOST=redis
    env_file:
      - db.env
    depends_on:
      - db
      - redis

  redis:
    image: redis:alpine
    restart: always

通过环境变量自动配置

kodbox容器支持通过环境变量自动配置。您可以在首次运行时预先配置安装页面上要求的所有内容。要启用自动配置,请通过以下环境变量设置数据库连接。

MYSQL/MariaDB:

  • MYSQL_DATABASE 数据库名.
  • MYSQL_USER 数据库用户.
  • MYSQL_PASSWORD 数据库用户密码.
  • MYSQL_HOST 数据库服务地址.
  • MYSQL_PORT 数据库端口,默认3306

如果设置了任何值,则在首次运行时不会在安装页面中询问这些值。通过使用数据库类型的所有变量完成配置后,您可以通过设置管理员和密码(仅当您同时设置这两个值时才有效)来配置kodbox实例:

  • KODBOX_ADMIN_USER 管理员用户名.
  • KODBOX_ADMIN_PASSWORD 管理员密码.
  • RANDOM_ADMIN_PASSWORD 值为·true·时生成随机密码,从日志查看.

redis/memcached:

  • REDIS_HOST redis地址.
  • REDIS_PASSWORD redis密码.

uid/gid:

  • PUID代表站点运行用户nginx的用户uid
  • PGID代表站点运行用户nginx的用户组gid

PHP参数

  • FPM_MAX php-fpm最大进程数, 默认50
  • FPM_START php-fpm初始进程数, 默认10
  • FPM_MIN_SPARE php-fpm最小空闲进程数, 默认10
  • FPM_MAX_SPARE php-fpm最大空闲进程数, 默认30

其他设置

docker's People

Contributors

d1ngx avatar kodcloud-dev avatar xingoxu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

docker's Issues

403 Forbidden

Hi,

Running
docker run -d -p 720:80 -v /mnt:/var/www/html kodcloud/kodbox

I got an Nginx error.

Logs:

docker logs 84e685dc2dea

KODBOX has been configured!
2022-05-16 04:59:26,876 INFO Set uid to user 0 succeeded
2022-05-16 04:59:26,884 INFO RPC interface 'supervisor' initialized
2022-05-16 04:59:26,884 CRIT Server 'unix_http_server' running without any HTTP authentication checking
2022-05-16 04:59:26,884 INFO supervisord started with pid 1
2022-05-16 04:59:27,889 INFO spawned: 'php-fpm' with pid 90
2022-05-16 04:59:27,892 INFO spawned: 'nginx' with pid 91
2022/05/16 04:59:27 [notice] 91#91: using the "epoll" event method
2022/05/16 04:59:27 [notice] 91#91: nginx/1.20.2
2022/05/16 04:59:27 [notice] 91#91: OS: Linux 5.10.0-13-amd64
2022/05/16 04:59:27 [notice] 91#91: getrlimit(RLIMIT_NOFILE): 1048576:1048576
2022/05/16 04:59:27 [notice] 91#91: start worker processes
2022/05/16 04:59:27 [notice] 91#91: start worker process 92
2022/05/16 04:59:27 [notice] 91#91: start worker process 93
[16-May-2022 04:59:28] NOTICE: fpm is running, pid 90
[16-May-2022 04:59:28] NOTICE: ready to handle connections
2022-05-16 04:59:29,068 INFO success: php-fpm entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2022-05-16 04:59:29,068 INFO success: nginx entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2022/05/16 04:59:30 [error] 93#93: *1 directory index of "/var/www/html/" is forbidden, client: 10.0.4.40, server: _, request: "GET / HTTP/1.1", host: "10.0.4.65:720"
10.0.4.40 - - [16/May/2022:04:59:30 +0800] "GET / HTTP/1.1" 403 146 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:100.0) Gecko/20100101 Firefox/100.0"
2022/05/16 04:59:32 [error] 93#93: *1 directory index of "/var/www/html/" is forbidden, client: 10.0.4.40, server: _, request: "GET / HTTP/1.1", host: "10.0.4.65:720"
10.0.4.40 - - [16/May/2022:04:59:32 +0800] "GET / HTTP/1.1" 403 146 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:100.0) Gecko/20100101 Firefox/100.0"
2022/05/16 04:59:33 [error] 93#93: *1 directory index of "/var/www/html/" is forbidden, client: 10.0.4.40, server: _, request: "GET / HTTP/1.1", host: "10.0.4.65:720"
10.0.4.40 - - [16/May/2022:04:59:33 +0800] "GET / HTTP/1.1" 403 146 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:100.0) Gecko/20100101 Firefox/100.0"

Thanks

EDIT: just read the logs... Sorry.

rclone mount function?

請問有沒可能Dockerfile build 直接掛起rclone mount drive to /var/www/html ?利用Google Team Drive 掛載於可道雲?

using compose starts fail

way: docker compose

git clone https://github.com/KodCloud-dev/docker.git kodbox
cd ./kodbox/compose/

db.env中设置数据库密码

MYSQL_PASSWORD=123456
MYSQL_DATABASE=kodbox
MYSQL_USER=kodbox

docker-compose.yml

version: '3.5'

services:
  db:
    image: mariadb:10.6
    restart: always
    command: --transaction-isolation=READ-COMMITTED --log-bin=binlog --binlog-format=ROW
    volumes:
      - "./db:/var/lib/mysql"       #./db是数据库持久化目录,可以修改
    environment:
      - MYSQL_ROOT_PASSWORD=123456
      - MARIADB_AUTO_UPGRADE=1
      - MARIADB_DISABLE_UPGRADE_BACKUP=1
    env_file:
      - db.env
      
  app:
    image: kodcloud/kodbox:latest
    #image: kodcloud/kodbox:1.49.01
    restart: always
    ports:
      - 2380:80                       #左边80是使用端口,可以修改
    volumes:
      - "./site:/var/www/html"      #./site是站点目录位置,可以修改
    environment:
      - MYSQL_HOST=db
      - REDIS_HOST=redis
    env_file:
      - db.env
    depends_on:
      - db
      - redis

  redis:
    image: redis:alpine
    restart: always

docker-compose up -d

error log:

{
    "code": "10001",
    "timeUse": "0.0075",
    "timeNow": "1703320111.9544",
    "data": "登录已失效,请重新登录!"
}

compose部署出错

按照教程
git clone https://github.com/KodCloud-dev/docker.git kodbox
cd ./kodbox/compose/
修改docker-compose.yaml,设置数据库root密码(MYSQL_ROOT_PASSWORD=密码)
docker-compose up -d

app容器的状态一直在restarting,查看日志:
app_1 | /entrypoint.sh: line 80: PUID: parameter not set
app_1 | /entrypoint.sh: line 80: PUID: parameter not set
app_1 | /entrypoint.sh: line 80: PUID: parameter not set
app_1 | /entrypoint.sh: line 80: PUID: parameter not set
app_1 | /entrypoint.sh: line 80: PUID: parameter not set
app_1 | /entrypoint.sh: line 80: PUID: parameter not set
app_1 | /entrypoint.sh: line 80: PUID: parameter not set

树莓派运行出错

运行
docker run -d --name kodbox -p 619:80 kodcloud/kodbox

树莓派环境
PRETTY_NAME="Raspbian GNU/Linux 10 (buster)"
NAME="Raspbian GNU/Linux"
VERSION_ID="10"
VERSION="10 (buster)"
VERSION_CODENAME=buster
ID=raspbian
ID_LIKE=debian

docker=20.10.8, build 3967b7d
python=Python 2.7.16

processor : 3
model name : ARMv7 Processor rev 3 (v7l)
BogoMIPS : 108.00
Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xd08
CPU revision : 3

Hardware : BCM2711
Revision : d03114
Serial : 100000005d2c9da4
Model : Raspberry Pi 4 Model B Rev 1.4

错误日志:
KODBOX is installing ...,
Fatal Python error: init_interp_main: can't initialize time,
Python runtime state: core initialized,
PermissionError: [Errno 1] Operation not permitted,
,
Current thread 0xb6f5f390 (most recent call first):,

update

how to update kodbox in docker

Cannot use WebDAV

Hi developers! When trying to setup WebDAV, it reports the following error:

http code:200
出错了! (warning!)
您当前服务器不支持PATH_INFO模式
形如 /index.php/index方式的访问;
同时不能丢失header参数Authorization;否则无法登录;
[了解如何开启](http://doc.kodcloud.com/v2/#/help/pathInfo)

docker compose start failed

运行日志如下,都是按文档走的

kodbox_latest exited with code 1
kodbox_latest  | Initializing Kodbox 1.49.04 ...
kodbox_latest  | New Kodbox instance
kodbox_latest  | Configuring Redis as session handler
kodbox_latest  | sed: /usr/src/kodbox/config/setting_user.php: No such file or directory
kodbox_latest exited with code 1
kodbox_latest  | Initializing Kodbox 1.49.04 ...
kodbox_latest  | New Kodbox instance
kodbox_latest  | Configuring Redis as session handler
kodbox_latest  | sed: /usr/src/kodbox/config/setting_user.php: No such file or directory

compose文件环境变量有误

yml文件中数据库环境变量名称有误,MYSQL_HOST应该为:MYSQL_SERVER

app:
image: kodcloud/kodbox
restart: always
ports:
- 80:80 #左边80是使用端口,可以修改
volumes:
- "./site:/var/www/html" #./site是站点目录位置,可以修改
environment:
- MYSQL_HOST=db
- REDIS_HOST=redis

compose 无法启动

  1. clone 仓库
  2. docker-compose.yaml (MYSQL_ROOT_PASSWORD=密码)三个环境变量文件没改
  3. docker-compose up -d

出现以下错误 不知道No such file or directory的是啥

Traceback (most recent call last):
  File "/usr/lib/python3.9/site-packages/urllib3/connectionpool.py", line 699, in urlopen
    httplib_response = self._make_request(
  File "/usr/lib/python3.9/site-packages/urllib3/connectionpool.py", line 394, in _make_request
    conn.request(method, url, **httplib_request_kw)
  File "/usr/lib/python3.9/http/client.py", line 1257, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/usr/lib/python3.9/http/client.py", line 1303, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.9/http/client.py", line 1252, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.9/http/client.py", line 1012, in _send_output
    self.send(msg)
  File "/usr/lib/python3.9/http/client.py", line 952, in send
    self.connect()
  File "/usr/lib/python3.9/site-packages/docker/transport/unixconn.py", line 30, in connect
    sock.connect(self.unix_socket)
FileNotFoundError: [Errno 2] No such file or directory

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3.9/site-packages/requests/adapters.py", line 439, in send
    resp = conn.urlopen(
  File "/usr/lib/python3.9/site-packages/urllib3/connectionpool.py", line 755, in urlopen
    retries = retries.increment(
  File "/usr/lib/python3.9/site-packages/urllib3/util/retry.py", line 532, in increment
    raise six.reraise(type(error), error, _stacktrace)
  File "/usr/lib/python3.9/site-packages/urllib3/packages/six.py", line 769, in reraise
    raise value.with_traceback(tb)
  File "/usr/lib/python3.9/site-packages/urllib3/connectionpool.py", line 699, in urlopen
    httplib_response = self._make_request(
  File "/usr/lib/python3.9/site-packages/urllib3/connectionpool.py", line 394, in _make_request
    conn.request(method, url, **httplib_request_kw)
  File "/usr/lib/python3.9/http/client.py", line 1257, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/usr/lib/python3.9/http/client.py", line 1303, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.9/http/client.py", line 1252, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.9/http/client.py", line 1012, in _send_output
    self.send(msg)
  File "/usr/lib/python3.9/http/client.py", line 952, in send
    self.connect()
  File "/usr/lib/python3.9/site-packages/docker/transport/unixconn.py", line 30, in connect
    sock.connect(self.unix_socket)
urllib3.exceptions.ProtocolError: ('Connection aborted.', FileNotFoundError(2, 'No such file or directory'))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3.9/site-packages/docker/api/client.py", line 214, in _retrieve_server_version
    return self.version(api_version=False)["ApiVersion"]
  File "/usr/lib/python3.9/site-packages/docker/api/daemon.py", line 181, in version
    return self._result(self._get(url), json=True)
  File "/usr/lib/python3.9/site-packages/docker/utils/decorators.py", line 46, in inner
    return f(self, *args, **kwargs)
  File "/usr/lib/python3.9/site-packages/docker/api/client.py", line 237, in _get
    return self.get(url, **self._set_request_timeout(kwargs))
  File "/usr/lib/python3.9/site-packages/requests/sessions.py", line 555, in get
    return self.request('GET', url, **kwargs)
  File "/usr/lib/python3.9/site-packages/requests/sessions.py", line 542, in request
    resp = self.send(prep, **send_kwargs)
  File "/usr/lib/python3.9/site-packages/requests/sessions.py", line 655, in send
    r = adapter.send(request, **kwargs)
  File "/usr/lib/python3.9/site-packages/requests/adapters.py", line 498, in send
    raise ConnectionError(err, request=request)
requests.exceptions.ConnectionError: ('Connection aborted.', FileNotFoundError(2, 'No such file or directory'))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/bin/docker-compose", line 33, in <module>
    sys.exit(load_entry_point('docker-compose==1.29.2', 'console_scripts', 'docker-compose')())
  File "/usr/lib/python3.9/site-packages/compose/cli/main.py", line 81, in main
    command_func()
  File "/usr/lib/python3.9/site-packages/compose/cli/main.py", line 200, in perform_command
    project = project_from_options('.', options)
  File "/usr/lib/python3.9/site-packages/compose/cli/command.py", line 60, in project_from_options
    return get_project(
  File "/usr/lib/python3.9/site-packages/compose/cli/command.py", line 152, in get_project
    client = get_client(
  File "/usr/lib/python3.9/site-packages/compose/cli/docker_client.py", line 41, in get_client
    client = docker_client(
  File "/usr/lib/python3.9/site-packages/compose/cli/docker_client.py", line 170, in docker_client
    client = APIClient(use_ssh_client=not use_paramiko_ssh, **kwargs)
  File "/usr/lib/python3.9/site-packages/docker/api/client.py", line 197, in __init__
    self._version = self._retrieve_server_version()
  File "/usr/lib/python3.9/site-packages/docker/api/client.py", line 221, in _retrieve_server_version
    raise DockerException(
docker.errors.DockerException: Error while fetching server API version: ('Connection aborted.', FileNotFoundError(2, 'No such file or directory'))

PHP拓展

您好,博主,请问您的docker版可道云,怎么安装Swoole拓展呢?非常感谢您了!
image

修改容器用户

我管理文件使用的用户不是root,如何修改容器的用户?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.