环境:

  • 操作系统--Ubuntu 18.04 server
  • Docker 版本 18.06.1-ce
  • docker-compose 版本 1.22.0

步骤:

1、拉取 nextcloud 和 mysql 镜像

sudo docker pull nextcloud:14.0-apache
sudo docker pull mysql:8.0

2、编辑容器编排文件 docker-compose.yml

version: "3"
services:
  mysql:
    container_name: "mysql"
    image: "mysql:8.0"
    volumes:
      - ./mysql/data:/var/lib/mysql
    environment:
      - MYSQL_ROOT_PASSWORD=root
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud
      - MYSQL_PASSWORD=nextcloud
    restart: always

  nextcloud:
    container_name: "nextcloud"
    image: "nextcloud:14.0-apache"
    volumes:
      - ./nextcloud:/var/www/html
    ports:
      - "80:80"
    links:
      - mysql
    restart: always 

3、在 docker-compose.yml 同级文件夹里创建与数据卷相对应的文件夹

mkdir -p mysql/data
mkdir nextcloud

4、启动容器和查看容器是否正常启动

sudo docker-compose up -d
sudo docker-compose ps
如显示如下即表明容器已经正常启动:
  Name                 Command               State          Ports
------------------------------------------------------------------------
mysql       docker-entrypoint.sh mysqld      Up      3306/tcp, 33060/tcp
nextcloud   /entrypoint.sh apache2-for ...   Up      0.0.0.0:80->80/tcp

5、打开浏览器,键入容器所在的服务器地址进行初始化设置

在初始化设置里要正确填入 mysql 的环境变量和数据库服务器名,即 docker-compose.yml 所定义的

MYSQL_DATABASE=nextcloud  //数据库名
MYSQL_USER=nextcloud  //用户名
MYSQL_PASSWORD=nextcloud //密码

container_name: "mysql"  //数据库服务器名 mysql

6、下载安装客户端软件,有 windows 版,有 android 版

下载地址在这里