成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

CoreOS 實戰:在 UOS上體驗CoreOS 操作全記錄

云計算
CoreOS 與 docker 的配合,相當于把傳統的混雜在一起的操作系統和應用做了解耦,分成兩層,CoreOS 更偏底層,甚至有點像硬件固件,而 docker 負責偏上的應用層。

[[126325]]

近期 UnitedStack 公有云在國內率先提供了對 CoreOS 的支持,廣大玩家可以很輕松地在 UOS 上體驗、研究 CoreOS 了。以下是一點經驗分享,拋磚引玉,希望能給大家帶來些許幫助。

CoreOS 和 docker 簡介

關注云計算的同學一定注意到了 docker ,而關注 docker 的朋友,也一定聽說過 CoreOS 。它們都是近期很火熱的焦點,網上鋪天蓋地有各式各樣的介紹,不再引述,這里僅說一點個人看法。

可以說,CoreOS 是Linux發行版中的一朵奇葩,而 docker 是虛擬化領域的一朵奇葩,二者合在一起,于是我們得到了。。。兩朵奇葩。。。哈哈,玩笑。嚴肅講,CoreOS 不是以傳統模式做的 OS:

1  傳統的 Linux 發行版(除了Gentoo這樣的奇葩),都有包管理體系、軟件包repo,系統安裝的過程就是從repo(可以是http/ftp、nfs、iso等)中獲取軟件包解包安裝。而 CoreOS 壓根就沒有包管理機制,官方直接發布二進制的系統映像,安裝方式就是dd。不過映像格式倒是很豐富,ISO、PXE、各大虛擬機、多種云平臺一應俱全。

2 分區模式也比較獨特,號稱有兩個root分區,一個用于常規啟動,另一個作為更新分區,系統更新將會被安裝到更新分區。兩個分區可以切換,系統更新后,更新分區會自動變為常規啟動分區,重啟就會加載新系統。在支持的平臺上,使用kexec方式重啟,避免漫長的硬件自檢過程,僅需數秒即可完成。從實際的分區列表看,具體實現細節要更復雜,精力所限筆者尚未深究,有了解的同學還請不吝賜教,謝謝!

3 CoreOS 設計之初,就沒打算讓用戶以傳統的裸進程的方式跑服務,而是全部通過docker來運行應用,CoreOS 就是一個極簡的、只跑docker的 Linux 系統。另一方面,docker 也不是要做傳統意義的虛擬機(盡管 docker 容器很像虛擬機),其設計理念是“一種新的應用打包/部署/運行/管理方式”。 CoreOS 與 docker 的配合,相當于把傳統的混雜在一起的操作系統和應用做了解耦,分成兩層,CoreOS 更偏底層,甚至有點像硬件固件,而 docker 負責偏上的應用層。

CoreOS官網主頁有一句話,“A new way to think about servers”,個人認為是恰如其分的。如果把CoreOS整體當做一個“內核”,跑在其中的docker容器就有點像一個個的“進程”;如果把 CoreOS 看做一個 hypervisor,那docker容器就像是宿主機中的虛機。而事實上,docker容器既不是進程,也不是虛機。CoreOS+docker,確實可以認為是一種新形態的OS 和服務運行方式。

4 CoreOS 內置了兩個服務:etcd 和 fleet。它們都是CoreOS的子項目。etcd是一個高可用的鍵值存儲系統,主要用于共享配置和服務發現,類似于 ZooKeeper 和 Doozer。 fleet是一個分布式的container發布工具,用于進行集群中任務的提交和管理。個人理解,etcd用來自動化構建CoreOS集群,而fleet則是運行于CoreOS集群之上的任務(docker)管理平臺。也就是說,CoreOS設計之初,就將運行環境定位于集群&平臺。

#p#

在UOS上創建CoreOS 云主機

言歸正傳,以下是在UOS上創建 CoreOS 云主機的操作步驟:

1. 打開UOS控制臺,點擊“創建云主機”,輸入主機名,鏡像選擇 CoreOS,點擊“下一步”。

2. 虛機配置,內存建議2G或更多,因為某些docker任務比較耗內存;

子網,選“基礎網絡”;

登陸信息,目前只支持秘鑰方式,如果沒有秘鑰,需要先在“密鑰對”頁面中創建一個。

都選好后,點擊“創建”即可。

3. 綁定一個公網IP。 如果沒有可用公網IP,需要在“公網IP”頁面申請一個公網IP地址:

然后綁定到CoreOS主機

4. SSH登陸

主機:就是剛才綁定的公網IP

方法:Public Key

用戶名:core

用戶秘鑰:選擇對應的秘鑰

如果是 Mac / Linux,則通過以下命令登陸:

ssh -i online4.pem core@42.62.73.66

如果是Windows,這里以Xshell為例:

點擊“確定”保存,雙擊相應條目即可登錄!

#p#

體驗CoreOS

試驗一:跑個docker 試試

1 從docker hub(docker官方提供的映像存儲服務)拉取一個基礎Linux系統映像:

docker pull base

2 啟動一個docker容器,運行交互式shell,分配一個偽終端,附帶stdin和stdout:

  1. docker run -i -t base /bin/bash 

此時就attach到了剛啟動的docker 容器的終端。運行一些命令試試:

我們可以從該容器detach:先按 Ctrl+p,再按Ctrl+q 。此時執行 docker ps 可以看到該容器仍在后臺運行:

用docker kill 命令可以停止容器。停掉的容器并沒有完全刪除,還可以重新起來,而且前面做的改動會被保留:

試驗二:運行WordPress

WordPress需要 mysql 數據庫,所以先 pull mysql:

  1. docker pull mysql 

然后 pull wordpress 映像:

  1. docker pull wordpress 

運行 mysql:

  1. docker run --name mysql_1 -e MYSQL_ROOT_PASSWORD=test_test -d mysql 

運行 wordpress:

  1. docker run --name wordpress_1 --link mysql_1:mysql -p 80:80 -d wordpress 

參數解釋:

  • --name mysql_1 給docker容器起個名字。
  • -e MYSQL_ROOT_PASSWORD=test_test 指定mysql的root密碼。
  • -p 80:80 把主機(CoreOS)的80端口映射到docker容器內部的80端口,這樣就可以通過“主機ip:80”訪問到容器里80端口的服務。
  • --link mysql_1:mysql 這個參數比較神奇,看起來很簡單,但要解釋清楚還是有點復雜的。簡言之,這個參數把兩個docker容器打通了,使它們內部的應用可以很容易地互訪。

OK,現在可以訪問WordPress了,直接在瀏覽器地址欄輸入前面綁定的公網ip:

#p#

稍微深入一點

額,wordpress就這么起來了,大家是不是感覺有點太。。。輕巧了。。。

的確,經過docker封裝的應用,用起來很方便,但也把大量細節隱藏了。作為一個慣于尋根究底、不肯放過任何細節的資深&優秀OPer,難以容忍真相被層層包裹在深幕之后。

好吧,我們再往深處探尋一下。

Q1:這兩個服務這么不聲不響就起來了,也沒輸出啥信息么? A1:可以通過docker logs 命令查看每個容器的運行日志:

Q2:平時用慣了ssh,假如想登錄到某個docker容器內部,該怎么做呢? A2:用nsenter 可以“滲透”進入到運行中的docker容器。

首先,找到容器的***個進程的PID

  1. PID=`docker inspect --format "{{ .State.Pid }}" mysql_1 ` 

然后滲入(需要root權限)

  1. sudo nsenter --target $PID --mount --uts --ipc --net --pid  

如上所示,我們進入了 mysql_1 這個容器。確實太純凈了,只有mysql,連 top、ps 都沒有。。。那只好連上mysql看看:

OK,再進入wordpress看看:

其實,這種方式并不是ssh登錄,不需要容器內部運行sshd服務。而是用主機的bash進入容器的name space,“附著”到容器上。所以才叫做 ns(name space) enter。

之所以能這么做,是因為每個docker容器中的進程,實際上都是主機(CoreOS)的本地進程,可以通過ps 看到:

有點神奇哈!到這里大家應該能感覺到,上面反復提到的name space,就是神奇的docker魔法的真正謎底。當然還需要aufs、cgroups等技術的支撐,以及開發者們的不懈努力,才最終呈現給大家完整的docker平臺。

玩的開心!

參考資料:

  • CoreOS官網: https://coreos.com/
  • Docker中文社區: https://www.dockboard.org/
  • Docker 官網: https://www.docker.com/
  • https://registry.hub.docker.com/_/mysql/
  • https://registry.hub.docker.com/_/wordpress/
  • http://www.oschina.net/translate/enter-docker-container?cmp
  • http://www.blogjava.net/yongboy/archive/2013/08/26/403325.html

博文出處:http://bbs.chinaunix.net/forum.php?mod=viewthread&tid=4165655&extra=page%3D1%26filter%3Dtypeid%26typeid%3D178%26typeid%3D178

責任編輯:Ophira 來源: ChinaUnix論壇
相關推薦

2020-12-13 08:25:32

FedoraCoreOSLinux

2021-10-03 14:47:26

Fedora CoreGitHub Acti運行器

2013-08-26 09:31:49

2014-07-22 15:33:02

Ubuntu

2015-05-05 11:04:31

CoreOS自動化運維

2015-07-20 15:08:58

CoreOS安裝

2015-05-05 14:16:22

容器技術CoreOSGoogle

2015-11-17 09:46:29

CoreOS開源漏洞分析

2015-07-09 09:19:02

2015-08-27 13:23:42

CoreOSKubernetesKubelet

2023-02-18 13:47:04

CoreOS容器操作系統云原生

2015-01-19 14:14:59

dockercoreosvagrant

2018-03-28 09:08:39

微軟開源Windows

2015-01-13 09:20:08

DockerCoreOSRocket

2017-08-11 10:38:12

LinuxCoreOS發行版

2014-12-03 10:13:01

Docker容器技術Rocket

2014-07-23 09:30:25

CoreOSLinux

2015-09-06 10:34:47

2014-12-24 11:34:23

CoreOSWordPress集群部署

2015-12-01 16:39:04

工業4.0華為
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久婷婷国产麻豆91 | 成人在线观看免费视频 | 成人久久18免费网站图片 | 久久伊人一区 | 亚洲精品久久久久久一区二区 | 在线91| 久久久久国产精品一区二区 | 午夜精品久久久久久久久久久久 | 国产亚洲欧美另类一区二区三区 | 国产精品久久久久久一级毛片 | 欧美一级视频免费看 | 欧美a在线看 | 国产精品一区二区三区久久 | 久久国内| 亚洲免费一区二区 | 欧美亚洲国产日韩 | 91在线看片 | 国产精品一区二区三区久久久 | 亚洲一页| 九一视频在线播放 | 国产精品美女久久久 | 一区二视频 | 欧美性精品 | 在线天堂免费中文字幕视频 | 毛片区| 在线观看国产wwwa级羞羞视频 | 亚洲视频免费在线观看 | 国产情侣久久 | 久久国产一区二区三区 | av中文在线观看 | 久久成人av | 色欧美综合| 福利片在线观看 | 中文字幕一区二区三区在线观看 | a网站在线观看 | 国产成人99久久亚洲综合精品 | 成人免费片| 中文字幕在线观看一区二区 | 国产成人精品久久二区二区91 | 久久午夜国产精品www忘忧草 | 超碰成人免费 |