天天看點

利用K8S技術棧打造個人私有雲(連載之:基礎鏡像制作與實驗)

利用K8S技術棧打造個人私有雲(連載之:基礎鏡像制作與實驗)

【利用K8S技術棧打造個人私有雲系列文章目錄】

<a href="https://www.jianshu.com/p/9bc87b5380e8">利用K8S技術棧打造個人私有雲(連載之:初章)</a>

<a href="https://www.jianshu.com/p/7d1fb03b8925">利用K8S技術棧打造個人私有雲(連載之:K8S叢集搭建)</a>

<a href="https://www.jianshu.com/p/5b0cd99e0332">利用K8S技術棧打造個人私有雲(連載之:K8S環境了解和練手)</a>

<a href="https://www.jianshu.com/p/e38c05cf076a">利用K8S技術棧打造個人私有雲(連載之:基礎鏡像制作與實驗)</a>

利用K8S技術棧打造個人私有雲(連載之:資源控制研究)(Coming Soon...)

利用K8S技術棧打造個人私有雲(連載之:私有雲用戶端打造)(Coming Soon...)

利用K8S技術棧打造個人私有雲(連載之:總結與升華)(Coming Soon...)

任何一家雲主機廠商提供給使用者的主機功能其實講白了就是一個作業系統基礎鏡像的運作執行個體。是以本篇博文将講解如何在本地建構一個帶ssh元件的centos底包鏡像并上傳到docker hub上供下載下傳使用。

注冊網址:<code>https://hub.docker.com/</code>

利用K8S技術棧打造個人私有雲(連載之:基礎鏡像制作與實驗)

指令行中輸入:<code>docker login</code>

利用K8S技術棧打造個人私有雲(連載之:基礎鏡像制作與實驗)

<code>docker pull centos</code>

<code>docker run -it centos:latest /bin/bash</code>

啟動sshd服務指令: <code>/usr/sbin/sshd -D</code>

報如下錯誤:

我們來解決以上錯誤:

此時再次來啟動sshd服務應該無錯誤了

執行指令:<code>vim /etc/ssh/sshd_config</code>

将配置檔案中原本<code>UsePAM yes</code>換成<code>UsePAM no</code>

執行指令:<code>passwd root</code>

輸入兩次密碼即可

<code>docker commit bf5b84f8e2d8 docker.io/hansonwang/centos7.4_ssh</code>

(1)注意此處的bf5b84f8e2d8即為剛才運作的容器的id,可用docker ps -a檢視

(2)注意此處的commit格式,必須為docker.io/&lt;你的dockerhub使用者名&gt;/centos7.4_ssh

<code>docker push docker.io/hansonwang/centos7.4_ssh:latest</code>

同樣需要注意此處的push格式,必須為docker.io/&lt;你的dockerhub使用者名/完整的鏡像名

如下圖所示:

利用K8S技術棧打造個人私有雲(連載之:基礎鏡像制作與實驗)

同時我們去docker hub上也能看到我們剛push的鏡像:

利用K8S技術棧打造個人私有雲(連載之:基礎鏡像制作與實驗)

為了驗證鏡像确實被推到遠端,我們将本地剛打包好的鏡像删除,然後從遠端pull下來運作看看

<code>docker pull hansonwang/centos7.4_ssh</code>

可以成功pull下來:

利用K8S技術棧打造個人私有雲(連載之:基礎鏡像制作與實驗)

我們來測試一下該鏡像裡是否包含有ssh元件:運作其并用ssh連接配接到容器中:

運作容器:<code>docker run -d -p 2222:22 docker.io/hansonwang/centos7.4_ssh:latest /usr/sbin/sshd -D</code>

ssh接入:<code>ssh root@localhost -p 2222</code>

此時會讓你輸入密碼,然後成功登入容器之中:

利用K8S技術棧打造個人私有雲(連載之:基礎鏡像制作與實驗)