目录
前提环境
拉取镜像
创建容器
创建mysql容器:
创建OwnCloud容器,并连接到数据库:
创建Nginx容器:
配置nignx
前提环境
- 基于Centos7.9版本环境安装Docker-ce:24.0.5
 
拉取镜像
docker pull mysql:5.6
docker pull owncloud
docker pull nginx 
[root@node4 ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED         SIZE
nginx        latest    605c77e624dd   19 months ago   141MB
mysql        5.6       dd3b2a5dcb48   20 months ago   303MB
owncloud     latest    327bd201c5fb   4 years ago     618MB
 
- 但是值得注意的是OwnCloud自带有Web功能,所以不使用Nginx一样是可行的!
 - 如果你想要添加SSL实现保密传输,那可能就需要一些Web中间件协同了。
 
创建容器
创建mysql容器:
docker run -d --name dbs -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123456.! -e MYSQL_DATABASE=owncloud -e MYSQL_USER=owncloud -e MYSQL_PASSWORD=owncloud mysql:5.6
#-e MYSQL_ROOT_PASSWORD=123456.! 是root密码
#-e MYSQL_DATABASE=owncloud 存放网盘文件数据的数据库名
#-e MYSQL_USER=owncloud -e MYSQL_PASSWORD=owncloud 创建待会网盘访问的用户和密码
 
进入到自己创建的mysql容器里面查看创建的数据库
[root@node4 ~]# docker ps
CONTAINER ID   IMAGE       COMMAND                  CREATED         STATUS         PORTS                                       NAMES
657abfc7aa3b   mysql:5.6   "docker-entrypoint.s…"   5 minutes ago   Up 5 minutes   0.0.0.0:3307->3306/tcp, :::3307->3306/tcp   dbs
[root@node4 ~]# docker exec -it dbs /bin/sh
# 
# mysql -uroot -p 


创建OwnCloud容器,并连接到数据库:
docker run -d --name owncloud --link dbs:mysql -e MYSQL_HOST=mysql -e
MYSQL_DATABASE=owncloud -e MYSQL_USER=owncloud -e MYSQL_PASSWORD=owncloud owncloud:latest
#--link dbs:mysql 链接到dbs数据库,别名mysql
#-e MYSQL_HOST=mysql 数据库主机名:mysql
#剩余:数据库用户、用户密码、数据库名 
 
创建Nginx容器:
docker run -d --name nginx --link owncloud:owncloud --link dbs:mysql -p 80:80 nginx:latest
#--link 同样链接到前两个容器
#-p 暴露端口 ;-P随机端口
 
docker ps 查看
[root@node4 ~]# docker ps
CONTAINER ID   IMAGE             COMMAND                  CREATED          STATUS          PORTS                                       NAMES
d27a14421026   nginx:latest      "/docker-entrypoint.…"   19 minutes ago   Up 19 minutes   0.0.0.0:80->80/tcp, :::80->80/tcp           nginx
7684576b7bda   owncloud:latest   "docker-entrypoint.s…"   21 minutes ago   Up 21 minutes   80/tcp                                      owncloud
657abfc7aa3b   mysql:5.6         "docker-entrypoint.s…"   2 hours ago      Up 2 hours      0.0.0.0:3307->3306/tcp, :::3307->3306/tcp   dbs
 
配置nignx
[root@node4 ~]# vim /root/default.conf
server{location / {proxy_pass http://owncloud:80;proxy_set_header Host $host;proxy_set_header X-Forwarded-For $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Proto $scheme;}
error_page      500 502 503 504   /50x.html;location = /50x.html {root    /usr/share/nginx/html;
}
}[root@node4 ~]# docker cp /root/default.conf nginx:/etc/nginx/conf.d/default.conf
Successfully copied 2.05kB to nginx:/etc/nginx/conf.d/default.conf
 

