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

Docker容器学习:搭建ownCloud个人网盘_第1张图片

Docker容器学习:搭建ownCloud个人网盘_第2张图片

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

Docker容器学习:搭建ownCloud个人网盘_第3张图片

你可能感兴趣的:(docker,容器,运维)