2020-9-15 20:51:55 星期二
概述:
rancherOS是一个精简版的Linux系统, 他安装后默认将docker需要的东西也都给装上了.
用 virtualBox 安装 rancherOS:
1. 下载 virtualBox
2. 下载 rancheros.iso: https://github.com/rancher/os/releases/
3. 在 virtualBox 中安装 rancheros.iso, 注意内存设置成2g, 网卡设置为桥接, 其他不行
4. 安装成功后, 界面上会显示出自动分配的ip地址
5. 为了后续操作方便, 修改密码, (这个小系统已经修改过 sudoers 文件了可以直接用默认用户sudo执行命令)
第一步修改rancher的密码: sudo passwd rancher
第二步修改root的密码: sudo passwd root
第三步切换为root用户: su root
6. 修改cloud-config.yaml
文件的默认地址是: /var/lib/rancher/conf/cloud-config.yaml
把本机的ssh公钥写到这个配置文件中:
ros config set rancher.ssh_authorized_keys "['ssh-rsa AAA.....']"
修改docker镜像源:
ros config set rancher.docker.registry_mirror https://docker.mirrors.ustc.edu.cn
修改为动态获取IP地址(也可以指定IP地址和域名服务器)
ros config set rancher.network.interfaces.eth0.dhcp true
7. 将修改的内容持久化到VB的虚拟硬盘上
目前我们还是在下载的镜像文件上进行改动, 需要持久化到vb的虚拟硬盘上, 这样下次就不用再重复配置了
命令: ros install -c /var/lib/rancher/conf/cloud-config.yml -d /dev/sda --append rancher.password=rancher //注意要加append设置
回车后会有一个提示, 选择y, 就安装完了; 接着还有一个提示, 让你重启, 不要选择, 直接 ctrl+c退出
退出后, 操作virtualbox,
设置->启动顺序->改为硬盘优先,
设置->存储->控制器: IDE ->移除rancheros.iso镜像
8. 回到vb界面, 启动rancheros
启动完会有一个光标在闪烁, 回车, 提示输入密码, 输入第7步中持久化时的密码, 应该是登录进去了
9. 远程登录
官方建议: ssh -i /path/to/private/key rancher@<ip-address>
如果用其他ssh工具比如 xshell 或 mtputty 或 putty, 配置一下私钥的地址, 然后也可以登录了
搭建nginx 和 PHP
另附PHPdocker镜像列表: https://github.com/docker-library/docs/blob/master/php/README.md#supported-tags-and-respective-dockerfile-links
1. 拉取 php-fpm 和 nginx的docker镜像
2. 在宿主机的用户目录创建两个目录, 用来存放php代码和nginx的配置文件
1 PHP代码目录: ~/html/ 2 3 nginx配置文件目录: ~/nginx/confi.d/
3. 启动两个容器, 并映射目录和端口
1 sudo docker run --name php56 -v ~/html:/var/www/html -p 9560:9000 -d 6feac8f2ef42 2 sudo docker run --name nginx119 -v ~/nginx/conf.d:/etc/nginx/conf.d -p 80:80 -d 6f715d38cfe0
注意, PHP默认的代码目录在 /var/www/html, php的默认配置文件地址在 /var/local/etc/php; nginx的配置文件默认在/etc/nginx/conf.d
4. 第二步中创建的两个目录中分别放入PHP代码文件和nginx配置文件
1 //index.php 2 <?php 3 phpinfo();
## nginx配置文件, test.conf server { listen 80; server_name www.docker.com; root /var/www/html; location ~ .php$ { fastcgi_buffer_size 512k; fastcgi_buffers 32 128k; fastcgi_pass 172.17.10.165:9560; fastcgi_read_timeout 1200; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
注意:
1. 其中的fastcgi_pass指令中的ip地址是rancheros自动获取的ip地址, 启动rancheros后会在启动页面显示出来
2. root指令, 是php-docker中存放代码的路径, 我们这里映射到了宿主机的 ~/html目录
5. 在你的windows电脑里hosts文件配置硬解析, 将www.docker.com 指向virtualBox 里的rancheros的IP地址, 在浏览器中访问www.docker.com就可以访问到index.php了
6. 总结: windows浏览器访问www.docker.com -> 转向 rancherOS中 -> 转向 docker-nginx -> 转向 docker-php -> 返回数据 -> 显示到浏览器中