您好,登录后才能下订单哦!
本篇文章给大家分享的是有关如何利用K8S技术栈进行基础镜像制作与实验,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
任何一家云主机厂商提供给用户的主机功能其实讲白了就是一个操作系统基础镜像的运行实例。因此本篇博文将讲解如何在本地构建一个带ssh组件的centos底包镜像并上传到docker hub上供下载使用。
注册网址:https://hub.docker.com/
命令行中输入:docker login
####**1、第一步:**去远端拉取一个最新的centos最基础镜像,基于此镜像来制作
docker pull centos
####**2、第二步:**启动该docker容器
docker run -it centos:latest /bin/bash
####**3、第三步:**在启动的容器中来安装sshd
yum -y install openssh-server yum -y install openssh-clients
####**4、第四步:**我们来尝试启动一下sshd服务,会发现有报错
启动sshd服务命令: /usr/sbin/sshd -D
报如下错误:
Could not load host key: /etc/ssh/ssh_host_rsa_key Could not load host key: /etc/ssh/ssh_host_ecdsa_key Could not load host key: /etc/ssh/ssh_host_ed25519_key
我们来解决以上错误:
ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -N "" ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -N "" ssh-keygen -t ed25519 -f /etc/ssh/ssh_host_ed25519_key -N ""
此时再次来启动sshd服务应该无错误了
####**5、第五步:**编辑sshd_config配置文件
执行命令:vim /etc/ssh/sshd_config
将配置文件中原本UsePAM yes
换成UsePAM no
####**6、第六步:**修改root的密码
执行命令:passwd root
输入两次密码即可
####**7、第七步:**我们用exit命令来退出容器
####**8、第八步:**基于刚退出的容器我们来制作带ssh功能的centos镜像 docker commit bf5b84f8e2d8 docker.io/hansonwang/centos7.4_ssh
(1)注意此处的bf5b84f8e2d8即为刚才运行的容器的id,可用docker ps -a查看 (2)注意此处的commit格式,必须为docker.io/<你的dockerhub用户名>/centos7.4_ssh
docker push docker.io/hansonwang/centos7.4_ssh:latest
同样需要注意此处的push格式,必须为docker.io/<你的dockerhub用户名/完整的镜像名
如下图所示:
同时我们去docker hub上也能看到我们刚push的镜像:
为了验证镜像确实被推到远端,我们将本地刚打包好的镜像删除,然后从远端pull下来运行看看
docker pull hansonwang/centos7.4_ssh
可以成功pull下来:
我们来测试一下该镜像里是否包含有ssh组件:运行其并用ssh连接到容器中: 运行容器:docker run -d -p 2222:22 docker.io/hansonwang/centos7.4_ssh:latest /usr/sbin/sshd -D
ssh接入:ssh root@localhost -p 2222
此时会让你输入密码,然后成功登入容器之中:
以上就是如何利用K8S技术栈进行基础镜像制作与实验,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。