CoreOS 在 PC 上快速安裝方法指南
意義
能夠以最快的速度安裝部署Linux作業系統。安裝快速簡單,幾乎不花時間就可以開始執行Docker。執行速度非常快。使用記憶體硬碟。
我的情況
win8 筆記本偶爾玩遊戲,但是裝Linux雙系統可能需要我一天的時間來完成。我的所有業務都只需要在Docker中跑就可以了。而且我膝上型電腦記憶體夠大16g (感謝HUST 姜老師)。
準備
開工
- 安裝EasyBCD新增ISO引導項檔案直接使用CoreOS的livecd image
詳細步驟帶截圖:http://jingyan.baidu.com/article/466506586ed309f549e5f81c.html - 啟動CoreOS完成CoreOS安裝
更新
只需要給啟動用的ISO檔案更新即可。
缺點
- 不能持久化(帶來的優點,玩壞了,直接重啟即可)
- 整個作業系統都在硬碟中生成的檔案直接佔用硬碟空間(帶來的優點,硬碟速度提升非常高)
- 每次開機手動掛載硬碟空間,手動執行整個系統的初始化指令碼。
結合優缺點這裡建議這套配置給有確定業務的工作來做還可以,如果業務比較多,可能需要優化的點比較多。
配置
- 在硬碟上開一個100g大小的空間,並格式化,參考命令:mkfs.ext4 /dev/sda2 ,然後掛載。如果您不明白如何分割槽格式化並且掛載,請看考這裡。這篇文章可以說是我見過關於初級磁碟管理最好的一篇文章了。
- 掛載之後複製資料夾/var/lib/docker/ 到掛載的位置,再軟連線回去。(然後docker images就可以持久化放到硬碟裡面了重啟不會丟失)。參考操作如下:
cp -rf /var/lib/docker /mnt/ rm -rf /var/lib/docker ln -s /mnt/docker /var/lib/docker
我的初始化檔案參考
mkdir /root/.ssh echo "ssh-rsa xxx..(省略)....xx Li-jianying@lijianyings-MacBook-Pro.local" > /root/.ssh/authorized_keys rm -rf /var/lib/docker ln -s /mnt/docker /var/lib/docker #echo 'DOCKER_OPTS="--registry-mirror=http://XXXXX.m.daocloud.io"' >> /run/flannel_docker_opts.env #systemctl daemon-reload systemctl restart docker # using disk
先匯入rsakey,然後軟連線到docker位置。
新增daocloud 加速(官方雖然沒寫CoreOS怎麼加速,但是有大神給出了方法),因為我不加速比加速快,所以這裡就先註釋掉。作為備選方案。
systemd遇到的坑
如果docker中返回錯誤-1容器就會掛掉。但是systemd中還存在scope。
當啟動問題容器會提示
Error response from daemon: Cannot start container test: [8] System error: Unit docker-e10eb86807cd9971fc03a8eee732771193d506ed2ba678fdf4292916a9fb072c.scope already exists.
那麼
systemctl stop docker-e10eb86807cd9971fc03a8eee732771193d506ed2ba678fdf4292916a9fb072c.scope
就可以搞定。
CoreOS.iso 遇到的坑2
不斷確認KnowHosts。
參考解決 https://github.com/lijianying10/FixLinux/blob/master/note/取消sshPublicKeyKnowHost認證.md
總結
用這種方法在PC中部署Linux實在是太方便了。熟悉Docker一套的這種想法可能20分鐘就可以根據自己的情況搞定。
我找到了這個思路之後經過各種權衡。
- 為了快速解決引導問題 用EasyBCD 直接引導記憶體ISO啟動 換 折騰UEFI Grub的問題
- 為了減少配置環境帶來的時間成本從普通安裝到硬碟裡面的髮型版本 換 CoreOS
- 為了避免錯誤操作Or版本升級給系統帶來的不穩定因素 換 Docker
- 在未來也許 換 RKT,RunC(希望大嬸們快點填坑,RunC說這個月Release不知道會不會跳票)
- 注意本方案是不惜一切代價用最簡潔的環境配置來換開發時間。完美主義喜歡折騰的小夥伴可能要繞行了。
相關文章
- CoreOS實踐(2)—在coreos上安裝Kubernetes
- 如何在PC上安裝Mac OSMac
- Rust語言快速安裝指南Rust
- mysql在linux上cmake安裝方法(自己安裝版)MySqlLinux
- 在華為平板上安裝microG的方法
- Nokia PC 套件版本及在不同Windows 上的安裝問題套件Windows
- 在Centos 7上使用Devstack快速安裝Openstack薦CentOSdev
- Mac os x 10.4.8終於在我的pc上安裝成功Mac
- 在Mac上執行Rainbond,10分鐘快速安裝MacAI
- 在Windows上執行Rainbond,10分鐘快速安裝WindowsAI
- zt: 在RedHat AS3上快速安裝Oracle10gRedhatS3Oracle
- 在rhel和CentOS上安裝SQL Server的方法CentOSSQLServer
- mysql++在64位作業系統上的安裝指南MySql作業系統
- MySQL在Windows上安裝多個例項的方法MySqlWindows
- 在CentOS上安裝GitCentOSGit
- 在centos上安裝molochCentOS
- 在Windows上安裝MavenWindowsMaven
- 在CentOS上安裝dockerCentOSDocker
- 在CentOS上安裝PowerShellCentOS
- 在windows上安裝numpyWindows
- 在mac上安裝DockerMacDocker
- mysql 在windows上安裝MySqlWindows
- 在Centos上安裝wordpressCentOS
- 在AIX上安裝GCCAIGC
- hive在centos上安裝HiveCentOS
- 在lfs上安裝tcpdumpTCP
- 在AIX上安裝VNCAIVNC
- SDL在win上安裝
- 怎麼在伺服器上安裝SSL證書?伺服器證書安裝配置指南!伺服器
- Ubuntu上Oracle10g安裝指南UbuntuOracle
- RDA 在RAC DB 上安裝設定和收集資訊方法
- ACME續簽證書在Linux雲伺服器上安裝指南ACMLinux伺服器
- 在Linux上安裝gskitLinux
- 在CentOS 8.1上安裝 DockerCentOSDocker
- 在Ubuntu上安裝MariaDBUbuntu
- 在 Ubuntu 上安裝 Budgie 桌面Ubuntu
- 在docker上安裝AWVSDocker
- SonarQube在CentOS上的安裝CentOS