目录
1、拉取镜像
docker pull mysql:5
docker pull nextcloud:21
注:镜像MySQL选择5版本的,Nextcloud选择21版本的,目的是防止因为版本问题导致出错。
2、启动数据库
docker run --name=nextcloud_db -e MYSQL_ROOT_PASSWORD=passwd -d mysql:5
注:name后面接mysql容器的名字,可以再加上-v 本地地址:/var/lib/mysql指定存储地址
3、创建数据库
执行
docker exec -it nextcloud_db mysql -u root -p
之后输入密码进入mysql,再之后创建新用户
CREATE USER 'username' IDENTIFIED BY 'password‘;
GRANT ALL ON *.* TO 'username'@'%';
flush privileges;
exit;
exit退出后使用新建的用户登陆进数据库,创建数据库
mysql -u username -p
CREATE DATABASE nextcloud;
exit;
4、启动nextcloud
docker run -d --name=nextcloud --link nextcloud_db:db -v ~/docker-test/nextcloud:/var/www/html/ -p 8080:80 --restart=always nextcloud:21
注:link表示将nextcloud链接到mysql数据库,:后的db表示映射到nextcloud里的名字,之后在浏览器连接时需要用到。
5、修改nextcloud配置
先对容器nextcloud进行换源,后安装vim
在容器外使用docker inspect nextcloud,获取IPAddress的值,然后进入容器里,对/etc/apach2/sites-enabled/000-default.conf中添加:
ServerName IPAddress的值
如下图所示:
退出容器,重启容器
docker restart nextcloud
6、浏览器连接nextcloud
IP:外网端口进入页面
之后创建用户,配置数据库,如下图:
在nextCould安装选项里选择了mysql作为数据后就不能再用电脑宿主机127.0.0.1: 3306 作为mysql地址
要选择 n e t w o r d − n a m e : p o r t netword-name: portnetword−name:port 连接mysql,比如之前映射到容器里的db