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
No responses yet