Docker

apt-get update

wget -qO- https://get.docker.com/ | sh

sudo usermod -aG docker $USER

sudo systemctl enable docker

sudo systemctl restart docker

nano /etc/docker/daemon.json

{

  “data-root”: “/mnt/data/docker”,

  “registry-mirrors”: [

    “https://docker.m.daocloud.io”,

    “https://dockerproxy.com”,

    “https://docker.mirrors.ustc.edu.cn”,

    “https://docker.nju.edu.cn”,

    “https://registry.docker-cn.com”

  ]

}

sudo systemctl daemon-reload

sudo systemctl restart docker

Portainer

# 创建数据卷

docker volume create portainer_data

# 启动Portainer容器

docker run -d -p 9000:9000 \

  –name portainer \

  –restart always \

  -v /var/run/docker.sock:/var/run/docker.sock \

  -v portainer_data:/data \

  portainer/portainer-ce:latest

Nextcloud

步骤 1:安装Docker和Docker Compose

# 更新系统

sudo apt update && sudo apt upgrade -y

# 安装Docker

sudo apt install -y docker.io

# 安装Docker Compose

sudo apt install -y docker-compose

# 启动Docker服务并设置开机自启

sudo systemctl enable –now docker

步骤 2:创建Docker Compose文件

创建目录并编辑 `docker-compose.yml`:

mkdir ~/nextcloud && cd ~/nextcloud

nano docker-compose.yml

粘贴以下内容(按需修改配置):

========================================================

version: ‘3’

services:

  nextcloud:

    image: nextcloud:latest

    container_name: nextcloud

    restart: always  # 开机自启关键配置

    ports:

      – “8080:80”    # 宿主机端口:容器端口(按需修改)

    volumes:

      – ./nextcloud:/var/www/html

    environment:

      – MYSQL_HOST=db

      – MYSQL_DATABASE=nextcloud

      – MYSQL_USER=nextcloud

      – MYSQL_PASSWORD=your_db_password  # 修改为强密码

  db:

    image: mariadb:10.6

    container_name: nextcloud-db

    restart: always  # 开机自启关键配置

    volumes:

      – ./db:/var/lib/mysql

    environment:

      – MYSQL_ROOT_PASSWORD=your_root_password  # 修改为强密码

      – MYSQL_DATABASE=nextcloud

      – MYSQL_USER=nextcloud

      – MYSQL_PASSWORD=your_db_password        # 与上方一致

  # 可选:Redis缓存加速(删除以下行不需要)

  redis:

    image: redis:alpine

    container_name: nextcloud-redis

    restart: always

====================================================

重要提示

替换 `your_db_password` 和 `your_root_password` 为强密码。

端口 `8080` 可改为 `80`(需先关闭宿主机80端口的占用)。

步骤 3:启动Nextcloud容器

# 在docker-compose.yml目录执行

sudo docker-compose up -d

步骤 4:验证服务

1. 检查容器状态:

   sudo docker ps -a  # 应看到3个容器(含Redis则3个)

2. 访问Nextcloud:

   浏览器打开 `http://你的服务器IP:8080`,按向导完成安装(数据库用户填 `nextcloud`,密码填 `your_db_password`)。

步骤 5:配置防火墙(如启用)

# 允许端口(按docker-compose中的端口修改)

sudo ufw allow 8080

sudo ufw reload

步骤 6:测试开机自启

# 重启服务器

sudo reboot

# 重启后检查容器是否自动运行

sudo docker ps

### **故障排查**

1. **容器未启动**:

   sudo docker logs nextcloud     # 查看Nextcloud日志

   sudo docker logs nextcloud-db  # 查看数据库日志

2. **权限问题**:

   sudo chown -R 33:33 ./nextcloud  # 修复Nextcloud目录权限(用户33是www-data)

3. **端口冲突**:

   修改 `docker-compose.yml` 中的 `ports` 端口(如 `8080:80` → `8888:80`)。

通过以上步骤,Nextcloud将在Ubuntu启动时自动运行。如需更新Nextcloud,只需执行:

cd ~/nextcloud

sudo docker-compose pull

sudo docker-compose up -d

Gitea

mkdir -p ./gitea/data

mkdir -p ./gitea/config

# 运行容器

docker run -d \

  –name=gitea \

  -p 9002:3000 \

  -p 9003:22 \

  -v /mnt/disk/gitea/data:/data \

  -v /mnt/disk/gitea/config:/config \

  -e USER_UID=1000 \

  -e USER_GID=1000 \

  –restart=always \

  gitea/gitea:latest

Categories:

Tags:

No responses yet

    发表回复

    您的邮箱地址不会被公开。 必填项已用 * 标注