docker快速部署nextcloud速记

手欠把软路由上的ESXi搞崩了,一切重来。。。之前没有记录,趁着这次熬夜边度娘边试验部署的机会把过程记录下留着以后抄作业。

数据库

MySQL

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# 拉取镜像
$ docker pull mysql

# 创建数据卷
$ docker volume create --name mysql

# 创建临时容器并复制相关目录到数据卷
$ docker run --restart=always --privileged=true \
-v mysql:/mysql \
-p 3306:3306 --name mysql-tmp \
-e MYSQL_ROOT_PASSWORD=123456 -d mysql

$ docker exec -it mysql-tmp /bin/bash

cp -r /var/lib/mysql /mysql/data
cp -r /etc/mysql /mysql/conf
exit

# 删除临时容器
$ docker rm mysql-tmp -f

# 创建正式容器并后台启动
$ docker run --restart=always --privileged=true \
-v /opt/docker/volumes/mysql/_data/data/:/var/lib/mysql \
-v /opt/docker/volumes/mysql/_data/logs/:/var/log/mysql \
-v /opt/docker/volumes/mysql/_data/conf/:/etc/mysql \
-p 3306:3306 --name mysql-server \
-e MYSQL_ROOT_PASSWORD=123456 -d mysql

Redis

1
2
3
4
5
6
7
8
9
10
11
# 拉取镜像
$ docker pull redis

# 创建数据卷
$ docker volume create --name redis

# 创建正式容器并后台启动
$ docker run --name redis-server \
-v redis:/data \
-p 6379:6379 -d redis \
--appendonly yes \

Docker 部署NextCloud

docker run -d –name nginx
-v /opt/docker/volumes/nextcloud/_data/conf:/etc/nginx
-v /etc/acme/*.jinping.me/:/etc/ssl/nginx/
–link nextcloud-fpm –volumes-from nextcloud-fpm
-p 9080:80 -p 9443:443 nginx

docker run -d –name nextcloud-fpm
-v /mnt/sdb1:/var/www/html/data
-v /opt/docker/volumes/nextcloud/_data/html:/var/www/html
–link mysql-server
nextcloud:fpm

docker run -d –name mysql-server
-v /opt/docker/volumes/mysql/_data/conf:/etc/mysql
-v /opt/docker/volumes/mysql/_data/data:/var/lib/mysql
-v /opt/docker/volumes/mysql/_data/logs:/var/log/mysql
-e MYSQL_ROOT_PASSWORD=123456
mysql