一、在EXSI安装RancherOS

1.下载镜像

首先,去github下载RancherOS的镜像,选择rancheros-vmware.iso版本的(不要选择rancheros-vmware.vmdk,这个格式导入后无法自动登录,进行控制)。

2.创建虚拟机

硬件最低配置
部署在vmware主机中的硬件最低配置
虚拟机最好分配2g内存以上,并将镜像加载入光驱。

3.安装到虚拟硬盘

由于ISO镜像是无法保存文件的,我们需要把系统安装到硬盘上。
启动虚拟机后,如果有dhcp分配,一般会得到如下图所示的命令行界面。
在这里插入图片描述
要安装到硬盘首先我们需要先写一个配置文件:cloud-config.yml。但EXSI命令行并不能操作不方便,我们可以转到xshell进行操作,首先我们需要设定密码。输入命令

sudo passwd rancher

并输入两次密码(密码不会显示)来确定,成功如下图。
在这里插入图片描述
我们使用xshell,用rancher账号和你刚设定的密码登陆。然而Rancher安装到硬盘默认不允许远程登录(主要是为了安全),所以我们要先生成RSA密钥对,在这里插入图片描述
选择RSA类型的,(密码可选)在这里插入图片描述
然后我们得到RSA公匙,这个要填入配置文件中。
在这里插入图片描述

然后我们输入

vi cloud-config.yml

用vi来配置文件。
主要有四点hostname(主机名)、ssh_authorized_keys(登录授权公钥,其实就是openssh的配置)、(rancher.network.interfaces)网络配置、rancher.services_include(在虚拟机里开启vmware-tools的话,这里写open-vm-tools: true)。以下是一个模板:

hostname: RancherOS
rancher:
  network:
    interfaces:
      eth0:
        address: 192.168.1.11/24
        dhcp: false
        gateway: 192.168.1.1
        mtu: 1500
  services_include:
    open-vm-tools: true
ssh_authorized_keys:
  - ssh-rsa AAxxxxxx(填入上面生成的公匙)

填入相应信息后直接粘贴上去,按esc键退出编辑状态,然后输入:wq退出并保存。然后输入

sudo ros c validate -i cloud-config.yml

来检查文件有无错误,若控制台没有任何返回,则说明配置文件无误;否则,会提示哪里配置有问题。
接着就可以安装到硬盘了,可先用

sudo fdisk -l

来显示已配置的硬盘。
在这里插入图片描述

然后使用

sudo ros install -c cloud-config.yml -d /dev/sda

来把系统安装到硬盘上,途中要提示输入两次y,安装完成后会自动重启。

二、安装Portainer.io

重启虚拟机后,只能通过密钥登陆,所以配置好xshell进行登陆。要安装Portainer.io,直接输入
注意: portainer从2.0.0版本镜像名字改为portainer/portainer-ce
拉取镜像

docker pull portainer/portainer-ce

创建镜像

docker run -d -p 80:9000 -v /var/run/docker.sock:/var/run/docker.sock -v /mnt/appdata/portainer:/data --restart always --name portainer portainer/portainer-ce

如果希望使用访问的时候使用HTTPS来访问,则要添加上SSL证书路径.如下

docker run -d -p 443:9000 -v /var/run/docker.sock:/var/run/docker.sock -v /mnt/appdata/portainer:/data -v 这里填写你的存放证书的目录:/cert --restart always --name portainer portainer/portainer-ce --ssl --sslcert /cert/证书名.crt --sslkey /cert/密钥名.key

参数说明:

-d #容器在后台运行
-p 80:9000 # 宿主机80端口映射容器中的9000端口
-v /var/run/docker.sock:/var/run/docker.sock # 把宿主机的Docker守护进程(docker daemon)默认监听的Unix域套接字挂载到容器中(一定要)
-v /mnt/appdata/portainer:/data # 把宿主机目录 /mnt/appdata/portainer 挂载到容器 /data 目录;
--ssl --sslcert /cert/证书名.crt --sslkey /cert/密钥名.key  配置Https访问所需环境变量
–name dev-portainer # 指定运行容器的名称

安装如果很慢,可以先使用免费的阿里云的镜像加速,使用说明
在这里插入图片描述

三、初始化Portainer.io

安装完成后,在浏览器输入虚拟机分配到的ip:加设定的端口(若是80或者443可以不用加),即可访问到Portainer.io,第一次进入会要求你创建管理员账号。
在这里插入图片描述
然后,会要求你配置模式,我们选择本地即可。
在这里插入图片描述
然后就配置完成了,可视化控制docker完成。

安装Docker版onlyOffice并配置HTTPS

  1. 拉取镜像docker pull onlyoffice/documentserver:latest
    注:如果最新版本出现问题,可以去这里拉取老版本的。笔者就是遇到了在与nextcloud联动时发生了Error while downloading the document file to be converted错误,换了个版本就好就好了。

  2. 在Portainer.io中设置网络映射,container端口443需要映射。
    在这里插入图片描述

  3. 添加路径映射,方便保存更改。记得选成Bind,不然无法写路径

containerhost
/var/log/onlyoffice/mnt/appdata/onlyoffice/logs
/var/www/onlyoffice/Data/mnt/appdata/onlyoffice/data
/var/lib/onlyoffice/mnt/appdata/onlyoffice/lib
/var/lib/postgresql/mnt/appdata/onlyoffice/db
/var/www/onlyoffice/Data/certs/etc/ssl/certs

在这里插入图片描述
4. 把证书放置在/etc/ssl/certs中,要命名为onlyoffice.key、onlyoffice.crt。
更改权限。

chmod 400 /etc/ssl/certs/onlyoffice.key

注:rancher用户是没有权限直接上传到/etc/ssl/certs的,可以先上传到tmp再用sudo -i 提权,mv命令移动过去。

参考资料

https://www.cnblogs.com/Berkaroad/p/6446059.html
https://www.cnblogs.com/xiaochina/p/11603037.html
https://www.osyunwei.com/archives/9591.html
https://blog.csdn.net/acherson/article/details/101440200
https://blog.csdn.net/kfeng632/article/details/108887364
https://www.cnblogs.com/lizziuno/p/12083962.html
onlyOffice设置官方文档

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐