在ESXI环境下安装RancherOS并搭配使用HTTPS访问,配置SSL证书的Portainer.io来可视化控制docker,并安装Docker版的onlyOffice并配置HTTPS
一、在EXSI安装RencherOS1.下载镜像首先,去github下载RencherOS的镜像,选择rancheros-vmware.iso版本的(不要选择rancheros-vmware.vmdk,这个格式导入后无法自动登录,进行控制)。2.创建虚拟机硬件最低配置虚拟机最好分配2g内存以上,并将镜像加载入光驱。3.安装到虚拟硬盘由于ISO镜像是无法保存文件的,我们需要把系统安装到硬盘上。启动虚
一、在EXSI安装RancherOS
1.下载镜像
首先,去github下载RancherOS的镜像,选择rancheros-vmware.iso版本的(不要选择rancheros-vmware.vmdk,这个格式导入后无法自动登录,进行控制)。
2.创建虚拟机
硬件最低配置
虚拟机最好分配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
-
拉取镜像
docker pull onlyoffice/documentserver:latest
注:如果最新版本出现问题,可以去这里拉取老版本的。笔者就是遇到了在与nextcloud联动时发生了Error while downloading the document file to be converted错误,换了个版本就好就好了。 -
在Portainer.io中设置网络映射,container端口443需要映射。
-
添加路径映射,方便保存更改。记得选成Bind,不然无法写路径。
container | host |
---|---|
/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设置官方文档
更多推荐
所有评论(0)