Docker容器学习:搭建ownCloud个人网盘

目录

前提环境

拉取镜像

创建容器

创建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

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一路喝狗狗

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值