Docker安装nextcloud实验

本文详细介绍如何通过Docker安装并配置Nextcloud私有云存储系统。内容包括修改SSH验证方式、关闭SELinux、安装Docker及Docker Compose、配置Nextcloud镜像等关键步骤。
摘要由CSDN通过智能技术生成

Docker安装nextcloud实验

修改验证方式:从密钥到密码

sudo passwd root

su – root

vi /etc/ssh/sshd_config

 去掉下面前的# 或修改yes、no

port 22

AddressFamily any

ListenAddress 0.0.0.0

ListenAddress ::

PermitRootLogin yes

PasswordAuthentication yes

GSSAPIAuthentication no

然后重启服务

systemctl restart sshd

一、       关闭selinux

临时关闭:setenforce 0
永久关闭:vim /etc/selinux/config
SELINUX=disabled

二、       docker 安装和启动

1.       yum install epel-release  

2.      yum install docker  

3.     systemctl enable docker

4.      systemctl start docker

三、       安装 python-pip

Docker-Compose是一个部署多个容器的简单但是非常必要的工具.

安装Docker-Compose之前,请先安装 python-pip

1、首先检查linux有没有安装python-pip包,终端执行 pip -V

 [root@vm-50-151 network-scripts]# pip -V

-bash: pip: command not found

2、执行成功之后,再次执行yum -y install python-pip

[root@vm-50-151 network-scripts]# yum install python-pip

3、对安装好的pip进行升级 pip install --upgrade pip

[root@vm-50-151 network-scripts]# pip install --upgrade pip

 至此,pip安装好了,执行pip -V 再次检查pip环境。

 [root@vm-50-151 network-scripts]# pip -V

 

四、       安装Docker-Compose

1.终端执行:pip install docker-compose

若报错:ReadTimeoutError: HTTPSConnectionPool(host='pypi.python.org',port=443): Read timed out

  解决:pip --default-timeout=200 install -U docker-compose

2、检查docker-compose安装:docker-compose -version

[root@vm-50-151 network-scripts]#docker-compose -version

如果报错:

pkg_resources.DistributionNotFound:backports.ssl-match-hostname>=3.5

  解决方法:更新backports.ssl-match-hostname的版本,在终端输入命令

pip install --upgrade backports.ssl_match_hostname

五、       镜像配置

1,上传docker-compose.yml至/opt目录下,并切换到此目录下

cd /opt

1,需要创建一个nextcloud的网络: 

docker network create nextcloud

 [root@VM_0_3_redhat nextcloud]#  docker network create nextcloud  

执行结果: b01cd2af784023bb9deb416f6f147b883ceac3d4094b0573bcbe4fe29eb8ef7e  

2,编辑docker-compose.yml文件设置镜像信息:vi docker-compose.yml

 version: '2'
services:
  db:
    container_name: cloud_db
    image: mysql
    volumes:
      - "./data/cloud/mysql:/var/lib/mysql"
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: root
      MYSQL_DATABASE: nextcloud
  app:
    container_name: cloud_app
    depends_on:
      - db
    image: nextcloud
    volumes:
      - ./data/cloud/config:/var/www/html/config
      - ./data/cloud/data:/var/www/html/data
      - ./data/cloud/apps:/var/www/html/apps  
    links:
      - db
    ports:
      - "2333:80"
    restart: always
  cron:
    container_name: cloud_cron
    image: nextcloud
    links:
      - db
    volumes_from:
      - app
    user: www-data
    entrypoint: |
      bash -c 'bash -s <<EOF
      trap "break;exit" SIGHUP SIGINT SIGTERM
      while /bin/true; do
        /usr/local/bin/php /var/www/html/cron.php
        sleep 900
      done
      EOF'
    restart: always
  web:
    container_name: cloud_web
    image: abiosoft/caddy
    volumes:
      - ./Caddyfile:/etc/Caddyfile
      - ~/.caddy:/root/.caddy
    ports:
      - 80:80
      - 443:443
    restart: always
networks:
  default:
    external:
      name: nextcloud

3,拉取镜像:docker-compose up -d

若异常,参考下部的异常处理

六、       开始配置:

1,镜像拉取成功之后查看监听端口,和我们在docker-compose.yml中设置的一样2333端口监听

2,登录http://ip:2333

3,创建用户用户登录nextcloud使用,接着填写数据库信息,我们前面指定使用mysql数据库,这里填写mysql用户名密码数据库,主机名这里直接填写db就可以。最后点击安装。

4,安装完成,进入nextcloud主界面,第一次进入提示他的多客户端下载地址。

5,个人存储主界面。

6,按照docker-compose.yml配置,镜像中数据信息会保存在本地

  



异常处理:

异常一:若无法联网看看DNS 是否出问题
vi /etc/resolv.conf
; Created by cloud-init on instance boot automatically, do not edit.
;
; generated by /usr/sbin/dhclient-script
search openstacklocal

nameserver 114.114.114.114

nameserver 8.8.8.8

异常二:无法下拉:

[root@wb2 opt]# docker-compose up -d
Pulling web (abiosoft/caddy:)...
Trying to pull repository docker.io/abiosoft/caddy ... 
latest: Pulling from docker.io/abiosoft/caddy
ff3a5c916c92: Pulling fs layer
d9c6388ca90b: Pulling fs layer
d8978f464d08: Pulling fs layer
f12e77480ad6: Waiting
be3c7521af74: Waiting
ab902d1f9b18: Waiting 

解决办法:增加下面红字地方

[root@px-30 opt]# vi /etc/sysconfig/docker   
# /etc/sysconfig/docker
# Modify these options if you want to change the way the docker daemon runs
OPTIONS='--selinux-enabled --log-driver=journald --signature-verification=false --registry-mirror=http://f2d6cb40.m.daocloud.io'

然后重启docker

  systemctl  restart docker

再次测试docker-compose up -d

若继续异常再执行下面,否则不需要 

解决 Docker pull出现的 

error pulling image configuration: Get https://dseasb33srnrn.cloudfront.net/

 出现这个问题,一般的原因是无法连接到 docker hub,通过:

systemctl stop docker
echo "DOCKER_OPTS=\"\$DOCKER_OPTS --registry-mirror=http://f2d6cb40.m.daocloud.io\"" | sudo tee -a /etc/default/docker
service docker restart
然后就能正常使用docker  pull 



评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值